Java dinamikus programozás feladat?
Sziasztok!
Hogyan kellene megcsinálni ezt a feladatot? Mert ahogy megcsináltam az elvileg nem jó.
N darab lépcsőfok van. Egyszerre csak 1 vagy 2 lépést tudunk megtenni
és azt szeretnénk kiszámolni, hogy ilyen módon hányféleképpen mászhatjuk meg az n lépcsőfokot.
Alkalmazzunk Dinamikus Programozást.
Nagy n-re is le kell futnia a megvalósításnak így érdemes long-ként tárolni a részeredményeket.
public static long StepCounting(int n) metódust kell implementálni.
Bemenet: n, lépcsők száma
Kimenet: egy egész szám, ahányféleképpen felmehetünk a lépcsőn
PL. input: StepCounting(10) -> output2: 89
Így csináltam meg:
Ki is adja a jó megoldásokat de ahova fel kell töltenem nem fogadja el.
Tudnátok segíteni mi lehet a hiba?
Nyilván az a baj, hogy nagy n-eknél igencsak lassú ez a megoldás.
Tárold el a kiszámolt értékeket, és ha újra szükség van rá, akkor nem kell újra az egész rekurziót végigcsinálnod.
Ezt hívják dinamikus programozásnak.
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!