נתון מערך חד-ממדי לא ממוין a באורך n המלא במספרים שלמים שהם בטווח בין 1 ל- n-1.
יש להחזיר מספר שמופיע במערך יותר מפעם אחת.
השיטה שתכתבו צריכה להיות יעילה ככל הניתן, גם מבחינת סיבוכיות הזמן וגם מבחינת סיבוכיות המקום.
רמז - מותר לשנות את המערך. אין צורך להחזיר אותו למצבו המקורי.
המערך אינו null ואינו ריק, וכל המספרים בו הם בטווח בין 1 ל-n-1.
a = [2, 4, 5, 3, 5, 1]
5
הסבר: המספר 5 מופיע פעמיים במערך.
a = [1, 1, 1, 2, 2, 2, 2]
1 או 2
הסבר: המספרים 1 ו-2 מופיעים יותר מפעם אחת במערך.
a = [2, 3, 4, 2, 1]
2
הסבר: המספר 2 מופיע פעמיים במערך.
a = [3, 3, 3, 3, 3]
3
הסבר: המספר 3 מופיע חמש פעמים במערך.
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 9]
9
הסבר: המספר 9 מופיע פעמיים במערך.
a = [5, 4, 3, 2, 1, 5]
5
הסבר: המספר 5 מופיע פעמיים במערך.
a = [1, 2, 3, 4, 5, 6, 7, 8, 1]
1
הסבר: המספר 1 מופיע פעמיים במערך.
a = [2, 2, 2, 2, 2, 2, 2, 2]
2
הסבר: המספר 2 מופיע שמונה פעמים במערך.
קלט:
a = [2, 4, 5, 3, 5, 1]
הפלט המבוקש:
5