Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zliczanie największego drawdawn z tablicy, Rozwiązanie logiczne
publius
post
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 24.09.2003
Skąd: Piaskownica

Ostrzeżenie: (0%)
-----


Witam.

Łamię głowę nad rozwiązaniem takiego oto problemu.

Załóżmy, że mamy tablicę zawierającą jakieś liczby, np.:

1, -3, 5, 7, -2, -3, -2, 3, 4, -5, 2

Chciałbym złożyć funkcję, która policzy mi najmniejszą sumę kolejnych liczb.

W powyższym przypadku byłoby to -7.

W tym:
2, 3, -2, -5, 2, 4,-8
Byłoby to -8.

Z góry dziękuję za pomoc.
Czy jest gdzieś miejsce w sieci, gdzie zebrane są różne ciekawe operacje matematyczne na tablicach? (php.net przeglądam...). (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
LBO
post
Post #2





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Wbrew pozorom rozwiązanie jest proste ze względu na to, że mają to być kolejne liczby w tablicy.
Wygląda to tak, że liczysz sumy kolejnych elementów zaczynając od pierwszego. Każdą z tych sum porównujesz z ostatnią najmniejszą sumą (początkowo 0) i jeżeli jest od niej mniejsza nadpisujesz. Gdy dojdziesz do końca listy... zaczynasz od początku, tylko, że teraz od drugiego elementu... potem od 3.. od 4, aż przedostatniego elementu.

Na pewno mozna jeszcze zoptymalizować, ale pokombinuj sam.

edit: celowo nie daję kodu - podpowiem, że będziesz potrzebował dwóch pętli i zmiennej trzymającej poszukiwaną najmniejszą sumę.

Ten post edytował LBO 31.08.2008, 04:07:21
Go to the top of the page
+Quote Post
nevt
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

Ostrzeżenie: (0%)
-----


Nie ten dział, to nie ma nic wspólnego z PO. Przenoszę do przedszkola...
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 23:51