Menu
CoddyTech

Maximum Sum Subarray of Size K

Bạn nhận được một mảng số nguyên nums và độ dài cửa sổ k. Xét mọi dãy gồm đúng k phần tử liền kề và trả về tổng lớn nhất trong các dãy đó. Các giá trị có thể âm, vì vậy đáp án cũng có thể âm.

Hàm

maxSumSubarray(nums: integer-array, k: integer) → integer
numsinteger-array
mảng số nguyên
kinteger
số phần tử lân cận mà mỗi cửa sổ chứa
Trả vềinteger
tổng lớn nhất của bất kỳ k phần tử liên tiếp nào

Ràng buộc

  • 1 ≤ k ≤ nums.length ≤ 104
  • -104 ≤ nums[i] ≤ 104

Ví dụ

Đầu vào
nums = [4, -1, 3, 7, -2, 5, 1]k = 3
Đầu ra
10
Giải thích
Năm cửa sổ có độ dài 3 có tổng lần lượt là 6, 9, 8, 10 và 4. Tổng lớn nhất là 7 + (-2) + 5 = 10.
challenge icon

Câu hỏi mở rộng

Bạn cũng có thể trả về vị trí bắt đầu của cửa sổ tốt nhất, chọn cửa sổ ở bên trái nhất nếu có nhiều cửa sổ bằng nhau không?

Đặt lại code
def maxSumSubarray(nums, k):
    # Viết code ở đây

Kiểm thử #1

Kiểm thử #2

Kiểm thử #3

Đối số

nums = [4, -1, 3, 7, -2, 5, 1]
k = 3

Đầu ra mong đợi

10