Java týden Java týden
Aprílový black friday tě nenechá v klidu! Až 80 % prémiového obsahu zdarma. Více informací
Pouze tento týden slevy až 80 % na programování v Javě
Avatar
Martin Franta:27.12.2018 10:34

Zdravím, mám otázku spíš ohledně matiky. Mám pole, kde je klíč datum a hodnota číslo. Potřeboval bych dát dohromady výpočet, kdy zadám cílovou hodnotu a zjistím tak datumy, aby se součet hodnot co nejvíce přiblížil k cílové hodnotě.
Nebo jinak řečeno, najít prvky v množině tak, aby jejich součet byl co nejblíže zadané hodnotě :)
Nevěděl by někdo náhodou?

 
Odpovědět 27.12.2018 10:34
Avatar
nekukej
Člen
Avatar
Odpovídá na Martin Franta
nekukej:27.12.2018 12:28

Asi budeš muset provést součet všech kombinací a ten porovnat s hledanou hodnotou? Ale konkrétní algoritmus ti bohužel neporadím.

 
Nahoru Odpovědět 27.12.2018 12:28
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:31.12.2018 16:40

Dost nejasne popisujes situaci. Bylo by fajn priste doplnit dotaz prikladem, tabulkou, na ukazku.

To, co popisujes, by mohl byt problem obchodniho cestujiciho. Mas X mest, mas jimi vsemi projet. A potrebujes najit nejkratsi cestu. Tam funguje projit vsechny moznosti.
Pokud nepouzijes biologii a nenechas to vyresit mikroorganizmy. Ti maji vlastni zpusoby :)
http://www.osel.cz/…pusobem.html

Hele, rekneme, ze mas cisla 3, 6, 7, 1, 2, 1. Potrebujes z nich ziskat cislo 12. Jak budes postupovat?
bud zkusis k cislu pridavat ostatni.
1 + 1 + 2 + 3 + 6 + 7 =
7 + 6 + 7 = ... (=7 nebo 13, 20) a pak zacnes zamenovat pouzita cisla za vetsi
1 + 1 + 2 + 3 + (5)
1 + 1 + 2 + 6 ... (=10 je lepsi nez 7)
...
Totez pro postup od nejvetsiho.
Nebo muzes zkusit udelat dvojice, trojice a ty spojovat. Tady by slo pracovat s vice moznostmi. Vybrat nejblizsi nizsi soucet a zkusit k nemu najit jednoici, dvojici, n-tici, aby vysledne cislo bylo nejblizsi.

V podstate si myslim, ze idealni algoritmus by mohl byt podobny insert-sortu, se porovnavanim v polovine (klasicky porovnava zhora).

Nedefinoval jsi ani, jestli pocet hodnot ma byt nejmene nebo nejvice. Cili, jestli ma cloveku ze skladu nabidnout zbozi z co nejvic koutu a nebo to sezbirat na jednom miste. Predpokladejme, ze se jedna o zbozi na sklade v jakemsi poctu kusu a s jakymsi datumem spotreby.

 
Nahoru Odpovědět 31.12.2018 16:40
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.