Lenne olyan vállalkozó szellemű lélek, aki segítene eme algoritmusos-programozós feladatban?
Java nyelvben próbálkoztam a megoldással, de a probléma jellegéből adódóan ez nem fontos. A probléma (feladat) az volna, hogy van egy függvényünknek egy String és egy int típusú paramétere.
A String (továbbiakban 's' változó) + és - jelekből állhat csak, tehát pl. s = "+-+--"; Az int -et később írom, hogy micsoda. Tehát van a fenti "s" sztringünk, a "+-+--". Ezt egységekre kell bontanunk, a legutolsó karaktertől elkezdve és utána mindig egy előtte lévő karaktert hozzáadva, képződnek az egységek, és maga a teljes sztring is egy egység; tehát ezek lesznek az egységek: "-" , "--" , "+--" , "-+--" , "+-+--" , összesen tehát 5 egység ennél a példánál (sztring-nél). És minden egységnél meg lehet határozni azt a számértéket, amit a + és - jelek "összeadása" eredményez. A + jel ugye +1 -et, a - jel -1 -et képvisel, így a fenti egységek eme bizonyos számértékei ezek lesznek: "-" -nál -1 lesz, "--" -nál (-1) + (-1) = -2, "+--" -nál (+1) + (-1) + (-1) = -1, és így tovább rendre a hátralévők: -2, -1.
Tehát látjuk, hogy az egységek eme fajta számértéke lehet pozitív és negatív szám is (a példánkban ugye csak negatív, de lehetne pozitív is). És itt jön képbe a bemenő paraméterként megadott int típus (továbbiakban "k" változó), mert ez adja meg, hogy hány db negatív előjelű egységnek kell szerepelnie az "s" sztringben. A fenti példában ugye mind az 5 egység negatív előjelű, ezért 5 db negatív előjelű egységünk van, de ha a "k" paraméter mondjuk 3 lenne, akkor úgy kéne átalakítani az "s" változót, hogy abban az egységek közül tényleg csak 3 db legyen negatív előjelű, a többi pozitív legyen. Ehhez tehát át kell alakítanunk a fenti "s" sztringet. Tetszőlegesen lehet a - jelekből + -t, és a + jelekből - -t csinálni. Egy ilyen átalakítás úgymond 1 db lépésnek (átalakításnak) számít. És a kérdés az, hogy mennyi az a legkevesebb lépés, amit el kell végeznünk az "s" változón ahhoz, hogy a "k" számnak megfelelő mennyiségű negatív előjelű egységünk legyen ebben a módosított "s" változóban (ha kell rajta módosítani). És fontos, hogy a legkevesebb ilyen lépésszám kell. Tehát ezt a lépésszámot (átalakításszámot) kellene a függvényünknek int értékként visszaadnia.
Hát ez volna a nagy-nagy kihívás! Bizony, szerintem ez nem egyszerű. Nekem legalábbis nem sikerült megcsinálni...bárkinek valami meglátás, esetleg bárki meg tudja ezt oldani? Meg lehet egyáltalán oldani? :-D (bár ez egy állásinterjú első körének feladata volt igazából, tehát valószínűleg meg lehet valahogy oldani :-D).
Bármilyen meglátást, segítséget nagyon szívesen veszek és nagyon nagyon köszönök - mert még ha nem is jutottam tovább, de tökre szeretnék fejlődni, és érteni, egy ilyet hogy lehetne megcsinálni..még egyszer millió hála és respect a gondolkodó és alkotó elméknek, akik foglalkoznak ezzel, akár eljuttok az eredményig, akár nem, én nagyon köszönöm. :-)
Ez a leírás számomra kicsit zavaros.
Nem lehet, hogy megadd a probléma eredeti linkjét?
Itt a BFS:
Mikozben ezt irtam rajottem a gyors megoldasra, de nincs kedvem most azt is megirni.
Ha nem kapsz megoldast mastol, akkor majd osszedobom azt is valamikor a hetvegen.
#7 -es, #8 -as szia! Ó de jó fej vagy!! Köszönöm!! És hogyha esetleg lenne időd a megoldásod is még megírni, azt is nagyon nagyon köszönöm, és tényleg sokat segítenél! :-) Nekem 50 rémlik mint max. karakter, de mivel ezeket az értékhatárokat bevallom kicsit felületesen is futottam át ott a feladatlapon, ezért nem vagyok benne 100%, de mindenképpen 100 alatt, ezt már jobban merem mondani, mert nem volt nagy számérték, az biztos. A "k" értékre is volt valami megkötés, azt hiszem az, hogy nem lehet negatív szám (úgy ugye nem is lenne értelme a feladatnak), meg volt valami max. érték a "k" -ra is, az már nagyobb szám volt, de pontosan nem tudom - bár ha megvan az algoritmusunk, akkor kvázi bármekkora "k" értékre jó, ha nem írok butaságot. :-)
Respect és ismét köszi, és előre is nagyon köszi, ha még volna kedved leírni a "többit" is :)
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!