נתון מערך חד-ממדי arr לא ממוין מלא במספרים שלמים. יש להחזיר את המספר החיובי הקטן ביותר שלא נמצא במערך (0 אינו מספר חיובי).
לדוגמה, עבור המערך הבא:
| 0 | 1 | 2 | 3 | 4 | 5 |
| 1 | -3 | 6 | 2 | 0 | 15 |
המספר החיובי הקטן ביותר שלא נמצא במערך הוא 3 (1 ו-2 נמצאים במערך, אבל 3 לא).
השיטה צריכה להיות יעילה ככל הניתן, גם מבחינת סיבוכיות הזמן וגם סיבוכיות המקום צריכה להיות קבועה.
arr = [1, -3, 6, 2, 0, 15]
3
הסבר: המספרים החיוביים 1 ו-2 נמצאים במערך, אבל 3 הוא המספר החיובי הקטן ביותר שחסר
arr = [1, 1, 1, 1]
2
הסבר: המספר 1 מופיע במערך מספר פעמים, והמספר החיובי הקטן ביותר שחסר הוא 2
arr = [1, 2, 3, 4]
5
הסבר: המערך מכיל את כל המספרים החיוביים מ-1 עד 4, ולכן 5 הוא המספר החיובי הקטן ביותר שחסר
arr = [5, -1, 3, 1, 0, -2, 2]
4
הסבר: המספרים החיוביים 1, 2, 3, ו-5 נמצאים במערך, ולכן 4 הוא המספר החיובי הקטן ביותר שחסר
arr = [7, 8, 9, 11, 12, 14]
1
הסבר: כל המספרים במערך גדולים מ-1, ולכן 1 הוא המספר החיובי הקטן ביותר שחסר
arr = [-5, -4, -3, -2, -1]
1
הסבר: כל המספרים במערך שליליים, ולכן 1 הוא המספר החיובי הקטן ביותר שחסר
arr = [2, 3, 4, 5, 6]
1
הסבר: המערך מתחיל מ-2, ולכן 1 הוא המספר החיובי הקטן ביותר שחסר
arr = [1, 1000000]
2
הסבר: למרות שיש מספר גדול מאוד במערך, 2 הוא המספר החיובי הקטן ביותר שחסר
קלט:
arr = [1, -3, 6, 2, 0, 15]
הפלט המבוקש:
3