Hogyan lehet 1 ciklussal megoldani az alábbi feladatot?
Meg lehet oldani 1 ciklussal?
Meglehet
Hogyan lehet 1 ciklussal megoldani az alábbi feladatot?
Cache-eléssel:
- mi volt az eddigi legnagyobb
- mi volt az eddigi legkisebb, ami a legnagyobb előtt volt időben
tehát pl. a 6-ot és 5-t nem fogadjuk el, mert ott negatívba mennénk nyereségileg.
Innentől a tiéd. :) Feltett kérdésekre válaszoltam :D
[10,7,8,9,11,6,5]
Igen. Így van 5 és 6 kizáró.
Ha nem rendelkezel részvénnyel, akkor meg kell venni ugyebár, hogy eladhassad. A leírás 1 szóval se mondta, hogy rendelkezünk.
Tehát ha megveszed bármelyik pillanatban, és az utolsóban eladod a profitod negatív.
10-ért veszed 5-ért eladod: -5
6-ért veszed 5-ért eladod: -1
és sorolhatnám.
Feladat: "1 vétellel és 1 eladással mennyi a lehető legnagyobb profit!"
A rendes megoldáshoz rekurzív függvényre van szükség.
A rekurzív függvényben van egy ciklus is.
Itt van a pascal forráskódja:
Meg lehet csinálni. Mire van ehhez szükséged?
Számon kell tartanod:
- Az eddigi legkisebb értéket (min_value)
- Az eddigi legnagyobb profitot. (max_profit) (és az ehhez tartozó vétel-, illetve adás időpontot, ha ezt is vissza akarod adni).
A módszer:
- Előszöris beállítod a min_value értékét a tömb első elemére, a max_profitot meg 0-ra (feltételezhető, hogy ha nem tudunk nyereséget produkálni, inkább nem is veszünk részvényt, így 0-nál sosem lesz kisebb a végeredmény)
- Eztán végigmész a tömbön (célszerűen a második értéktől kezdve), és megnézed, hogy:
1. Ha kisebb az értéke min_value-nál, akkor beállítod a min_value értékét a tömb aktuális elemére.
2. Ha nagyobb nála, akkor megnézed, hogy a különbségük nagyobb-e max_profit-nál. Ha igen, akkor beállítod a max_profit értékét erre a különbségre.
A tömb végére érve megkapod a maximális profitot ami lehetséges (valamint a minimális értéket a tömbben).
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!