Menu
CoddyTech

Maximum Sum Subarray of Size K

ניתן לך מערך של מספרים שלמים nums ואורך חלון k. בחן כל רצף של בדיוק k איברים סמוכים והחזר את הסכום הגדול ביותר מביניהם. הערכים יכולים להיות שליליים, ולכן גם התשובה יכולה להיות שלילית.

פונקציה

maxSumSubarray(nums: integer-array, k: integer) → integer
numsinteger-array
מערך המספרים השלמים
kinteger
כמה איברים סמוכים מכילה כל חלונית
מחזירהinteger
הסכום הגדול ביותר של כל k איברים עוקבים

אילוצים

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

דוגמאות

קלט
nums = [4, -1, 3, 7, -2, 5, 1]k = 3
פלט
10
הסבר
סכומן של חמשת החלונות באורך 3 הוא 6, 9, 8, 10 ו-4. הסכום הגדול ביותר הוא 7 + (-2) + 5 = 10.
challenge icon

שאלת המשך

האם תוכל גם להחזיר את המקום שבו החלון הטוב ביותר מתחיל, ולבחור את החלון השמאלי ביותר במקרה של שוויון?

איפוס הקוד
def maxSumSubarray(nums, k):
    # כתבו כאן את הקוד

בדיקה #1

בדיקה #2

בדיקה #3

ארגומנטים

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

הפלט הצפוי

10