( wauf | 2021. 12. 01., sze – 14:36 )

Érdekes lenne igazolni, hogy ez miért jó így?

Formalisan nem bizonyitom, de te probalkozhatsz vele. Erre lesz szukseged: https://en.wikipedia.org/wiki/Loop_invariant

 

 

Az a gond a leetcode megoldasokkal amit talalsz a neten, hogy eles kodkent nem szabad oket a rendszerbe engedni, mert olyan valtozonevek mint i, n, m, stb nem hordoznak semmi lenyegi informaciot, a kodot csak az erti aki eloszor kitalalta. Aztan amikor a kod annyira bonyolult hogy mar o sem erti, akkor szokas ujrairni egesz rendszereket. Brrr.

 

n helyett legyen loot_in_houses

m helyett legyen best_loot_so_far

 

Igy mar azonnal trivialis hogy mi a fene az m tomb, es hogy ha hozzaadunk egy uj elemet, akkor az vagy az elozo legjobb zsakmany (amit te m[i-1]-nek hivtal), vagy a jelenlegi hazban talalhato zsakmany (n[i]) es az elozo elotti legjobb zsakmany osszege (m[i-2]). Azert elozo elotti, mert akkor kihagyjuk az elozo legjobb hazat, mert ami mellette van abbol tobbet rabolhatunk.