Loading Now

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]k = 3 thì maxSumArray(a, k) = [3, 4, 1].

  • Với a = [3, 4 , 3,  2]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ãy a.



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

Contact