נגדיר: מערך חד-ממדי של מספרים שלמים נקרא "K-כמעט-ממויין" (K קבוע), אם הוא מקיים את התנאים הבאים:
לדוגמה, המערך הבא הוא "4-כמעט-ממויין" כי אורך רצף האפסים הארוך ביותר הוא 4.
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | |
| a= | 3 | 0 | 0 | 4 | 7 | 9 | 0 | 0 | 0 | 0 | 11 | 15 | 0 | 19 | 20 | 0 | 0 | 31 | 40 | 0 |
יש להחזיר את האינדקס של התא במערך "K-כמעט-ממויין" בו נמצא num. אם num לא נמצא במערך או אם כל האיברים במערך הם אפסים, יש להחזיר -1.
לדוגמה, במערך a לעיל:
num = 9 -> התא היחיד האפשרי הוא 5 (האינדקס של 9 במערך a)num = 31 -> התא היחיד האפשרי הוא 17 (האינדקס של 31 במערך a)num = 30 -> התא היחיד האפשרי הוא -1 (הערך 30 לא נמצא במערך a)השיטה שתכתבו צריכה להיות יעילה ככל הניתן, גם מבחינת סיבוכיות הזמן וגם מבחינת סיבוכיות המקום.
num הוא חיובי ממש.a = [3, 0, 0, 4, 7, 9, 0, 0, 0, 0, 11, 15, 0, 19, 20, 0, 0, 31, 40, 0], num = 9
5
הסבר: המספר 9 נמצא במערך באינדקס 5.
a = [3, 0, 0, 4, 7, 9, 0, 0, 0, 0, 11, 15, 0, 19, 20, 0, 0, 31, 40, 0], num = 31
17
הסבר: המספר 31 נמצא במערך באינדקס 17.
a = [3, 0, 0, 4, 7, 9, 0, 0, 0, 0, 11, 15, 0, 19, 20, 0, 0, 31, 40, 0], num = 30
-1
הסבר: המספר 30 לא נמצא במערך.
a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], num = 5
5
הסבר: המספר 5 נמצא במערך באינדקס 5.
a = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], num = 1
-1
הסבר: כל האיברים במערך הם אפסים.
a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], num = 2
2
הסבר: המספר 2 נמצא במערך באינדקס 2.
a = [1, 3, 5, 7, 9, 11, 13, 15, 17, 19], num = 10
-1
הסבר: המספר 10 לא נמצא במערך.
a = [0, 2, 4, 6, 8, 10, 12, 14, 16, 18], num = 14
7
הסבר: המספר 14 נמצא במערך באינדקס 7.
קלט:
a = [3, 0, 0, 4, 7, 9, 0, 0, 0, 0, 11, 15, 0, 19, 20, 0, 0, 31, 40, 0], num = 9
הפלט המבוקש:
5