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.

lock icon+15 בדיקות נסתרות בשליחה

challenge icon

שאלת המשך

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

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

מקרה 1

מקרה 2

מקרה 3

קלט

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

צפוי

10