na przykład mamynajwiększa suma sąsiadujących subarray nie większy niż k
{2,2,-1},
when k = 0, return -1.
when k = 3, return 3.
to nawet trudne, ponieważ mamy liczb ujemnych i dodatkową zmienną k. k może być dowolną wartością, ujemną, nie należy przyjmować żadnych założeń.
Nie mogę się odwołać do https://en.wikipedia.org/wiki/Maximum_subarray_problem i https://www.youtube.com/watch?v=yCQN096CwWM, aby rozwiązać ten problem.
Czy jakiekolwiek ciało może mi pomóc? Lepiej wykorzystaj Javę lub JavaScript.
Oto klasycznego algorytmu O (n) do maksimum (nie zmienną k)
public int maxSubArray(int[] nums) {
int max = nums[0];
int tsum = nums[0];
for(int i=1;i<nums.length;i++){
tsum = Math.max(tsum+nums[i],nums[i]);
max = Math.max(max,tsum);
}
return max;
}
Wszystkie Wymogi złożoność? – Nelfeal
Nie ma więcej wymagań, czy możesz go rozwiązać? –
Która wartość nie może być większa niż k? Długość podwielokrotności lub suma podwielokrotności? Odpowiedź na test [1, 2, 3], k = 2 to 5 lub 2? –