
maxSumArray
Hải có một dãy số nguyên a
và một số nguyên dương k
, Hải muốn tìm một đoạn k liên tiếp và có tổng lớn nhất ở trong dãy a
.
Hãy đưa ra dãy đó. Nếu có nhiều dãy có tổng lớn nhất thì đưa ra dãy xuất hiện sớm hơn.
Ví dụ:
- Với
a = [3, 4, 1, 3, 1]
vàk = 3
thìmaxSumArray(a, k) = [3, 4, 1]
. - Với
a = [3, 4 , 3, 2]
vàk = 2
thìmaxSumArray(a, k) = [3, 4]
.
Đầu vào/Đầu ra:
-
[Thời gian chạy] 0.5s với C++, 3s với Java và C#, 4s với Python, Go và JavaScript.
-
[Đầu vào] Array: Integer a.
1 ≤ a.size() ≤ 105.
|a[i]| ≤ 109.
- [Đầu vào] Integer k.
1 ≤ k ≤ a.size().
-
[Đầu ra] Array
Dãy k số liên tiếp có tổng lớn nhất ở trong dãya
.
Author: Phan Đức Hải
Fanpage: CodeLearn.io
Group: Codelearn – Tự học lập trình C#, C++, Java, Python,Basic algorithms.
Post Comment