Menu
CoddyTech

Intersection of Two Arrays

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

מקבלים שני מערכים של מספרים שלמים, nums1 ו־nums2. יש להחזיר את כל הערכים שמופיעים בשני המערכים, ממוינים בסדר עולה. כל ערך משותף מופיע בתשובה פעם אחת, בלי קשר למספר הפעמים שהוא חוזר בכל אחד מהמערכים.

פונקציה

intersection(nums1: integer-array, nums2: integer-array) → integer-array
nums1integer-array
הרשימה הראשונה של המספרים השלמים
nums2integer-array
רשימת המספרים השלמים השנייה
מחזירהinteger-array
הערכים שנמצאים בשתי הרשימות, כל אחד פעם אחת, בסדר עולה

אילוצים

  • 1 ≤ nums1.length, nums2.length ≤ 5000
  • -105 ≤ nums1[i], nums2[i] ≤ 105
  • לפחות ערך אחד מופיע בשני המערכים.

דוגמאות

קלט
nums1 = [6, 2, 9, 2, 4]nums2 = [4, 4, 1, 6]
פלט
[4, 6]
הסבר
4 ו-6 נמצאים בשני המערכים. 4 מופיע פעמיים ב-nums2 אבל מצוין פעם אחת, ו-2 ו-9 לעולם אינם מופיעים ב-nums2.

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

challenge icon

שאלת המשך

מה אם nums1 מכיל 10 ערכים ו־nums2 מכיל מיליון ערכים, שכבר ממוינים? באיזו גישה היית בוחר, והאם חיפוש בינארי יכול להיות מהיר יותר מסריקה מלאה?

איפוס הקוד
def intersection(nums1, nums2):
    # כתבו כאן קוד
מקרי בדיקה

מקרה 1

מקרה 2

קלט

nums1 = [6, 2, 9, 2, 4]
nums2 = [4, 4, 1, 6]

צפוי

[4, 6]