ITI0011-2016:KT1

Allikas: Kursused
Redaktsioon seisuga 11. mai 2016, kell 13:04 kasutajalt Ago (arutelu | kaastöö) (Uus lehekülg: 'Kirjuta funktsioon, mis jagab mitte-negatiivsete arvude massiivi kaheks võimalikult võrdse summaga osaks. Tagastada tuleb indeks, mis jääb teise osa algusesse. Kui massiivi e...')
(erin) ←Vanem redaktsioon | Viimane redaktsiooni (erin) | Uuem redaktsioon→ (erin)
Mine navigeerimisribale Mine otsikasti

Kirjuta funktsioon, mis jagab mitte-negatiivsete arvude massiivi kaheks võimalikult võrdse summaga osaks. Tagastada tuleb indeks, mis jääb teise osa algusesse. Kui massiivi ei saa jagada, tagastada -1. Kui massiivi saab jagada mitmest kohast nii, et vahe oleks võrdne, tuleb tagastada kõige esimene võimalik indeks. (10p) Näiteks:

[1, 2, 3] => 2 (jagamine toimuks nii: [1, 2] ja [3], poolte summad on võrdsed) 
[1] => 0 (jagamine: [] ja [1]. Saaks jagada ka [1] ja [0], mis on sama suure vahega, aga tagastada tuli variant, kus esimene pool on minimaalne) 
[] => -1 
[1, 1, 1] => 1 (võimalik jagada [1] ja [1, 1] – summad vastavalt 1 ja 2 – või [1, 1] ja [1] – summad 2 ja 1. Esimesel juhul on murdekoht väiksem, seega tagastatakse 1) 
[6, 1] => 1 (jagatakse [6] ja [1] 

Kaust gitis: KT1