Menu
CoddyTech

Majority Element

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

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

פונקציה

majorityElement(nums: integer-array) → integer
numsinteger-array
מערך המספרים השלמים, שבו ערך אחד תופס יותר ממחציתו
מחזירהinteger
הערך שמופיע יותר מ־n / 2 פעמים

אילוצים

  • 1 ≤ nums.length ≤ 104
  • -109 ≤ nums[i] ≤ 109
  • ערך אחד מופיע יותר מ־nums.length / 2 פעמים.

דוגמאות

קלט
nums = [3, 9, 3, 3, 4]
פלט
3
הסבר
3 מופיע שלוש פעמים בחמישה איברים. שלוש גדול מ־5 / 2 = 2.5, ו־9 ו־4 מופיעים פעם אחת כל אחד.

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

challenge icon

שאלת המשך

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

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

מקרה 1

מקרה 2

קלט

nums = [3, 9, 3, 3, 4]

צפוי

3