Menu
CoddyTech

Two Sum

קלגיבובpython iconjava iconcpp iconc iconjs icon+10

ניתן לך מערך של מספרים שלמים nums ומספר שלם target. בדיוק שני איברים ב־nums, בשני מיקומים שונים, מסתכמים ל־target. החזר את האינדקסים של שני האיברים האלה, כשהאינדקס הקטן יותר ראשון.

פונקציה

twoSum(nums: integer-array, target: integer) → integer-array
numsinteger-array
מערך המספרים השלמים שבו יש לחפש
targetinteger
הסכום של שני הערכים חייב להגיע ל־
מחזירהinteger-array
שני האינדקסים, כשהקטן יותר מופיע ראשון

אילוצים

  • 2 ≤ nums.length ≤ 104
  • -109 ≤ nums[i] ≤ 109
  • -109 ≤ target ≤ 109
  • זוג אחד בדיוק של מיקומים שונים מסתכם ב־target.

דוגמאות

קלט
nums = [3, 8, 12, 5]target = 17
פלט
[2, 3]
הסבר
12 נמצא באינדקס 2 ו־5 באינדקס 3, ו־12 + 5 = 17. אף זוג אחר לא מגיע ל־17.
challenge icon

שאלת המשך

אם nums כבר הגיע ממוין, האם תוכל למצוא את הזוג בזמן O(n) ועם זיכרון נוסף של O(1) בלבד?

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

בדיקה #1

בדיקה #2

בדיקה #3

ארגומנטים

nums = [3, 8, 12, 5]
target = 17

הפלט הצפוי

[2, 3]