Wszyscy wiemy o podsumowie sumy maksymalnej i słynnym Kadane's algorithm. Ale czy możemy użyć tego samego algorytmu, aby znaleźć również minimalną sumę?Subarray minimalnej sumy w O (N) według algorytmu Kadane'a
My się to:
zmienić znak i znaleźć maksymalną sumę na tym, że sam jako sposób obliczyć maksymalną subarray sumy. Następnie zmień znak elementów w tablicy, aby był początkowy.
Proszę mi pomóc w poprawieniu algo, jeśli ma jakiekolwiek problemy.
przypadek rogu: wiem, że jest to kwestia, czy wszystkie elementy są pozytywne i możemy obsługiwać tę sprawę, wykonując pewne wstępne przetwarzanie tj poligonowego tablicy jeśli wszystkie są ve nie tylko zwróci minimalną liczbę z tablicy.
Powyższy algorytm zadziała i będzie obsługiwany (wyjaśniony) przez dasblinkenlight.
Dlaczego to nie działa, jeśli wszystkie elementy są pozytywne? Minimalna suma w tym przypadku wynosi 0 dla pustej sekwencji i zostanie poprawnie znaleziona. – Henry
@Henry - Prawdopodobnie chce znaleźć minimalną sumę podmary size-_k_ dla niektórych _k_ ≤ _N_. – DaoWen
w takim przypadku możemy przemierzyć tablicę i jeśli zobaczymy, że wszystkie elementy są + ve, możemy wziąć minimum elementów, co jest bardziej odpowiednie niż retunowanie 0. Dzięki. ale najważniejsze pytanie brzmi: czy podejście, o którym wspomniałem, pomoże znaleźć minimalną sumę czy nie? – Trying