מציאת מספר

נתון מערך של מספרים שלמים nums שונים זה מזה והוא ממוין בסדר יורד.
יש להחזיר מספר שלם שגדול מהערך הקטן ביותר במערך, קטן מהערך הגדול ביותר במערך, ולא נמצא במערך. אם לא קיים מספר כזה יש להחזיר את הערך Integer.MIN_VALUE.

השיטה צריכה להיות יעילה ככל הניתן, גם מבחינת סיבוכיות הזמן וגם מבחינת סיבוכיות המקום.

אילוצים:
  • גודל המערך הוא לפחות 2.
  • המערך ממוין בסדר יורד.
דוגמה 1:
קלט:
nums = [80, 70, 50, 40, 20, 10, 3]
פלט:
range in [4, 9], [11, 19], [21, 39], [41, 49], [50, 69], [71, 79]

הסבר: קיימים מספרים רבים שגדולים מ-3 וקטנים מ-80 ולא נמצאים במערך

דוגמה 2:
קלט:
nums = [5, 4, 3, 2 ,1]
פלט:
MIN_INT_LANGUAGE

הסבר: לא קיים מספר שלא נמצא במערך

דוגמה 3:
קלט:
nums = [9, 8, 6]
פלט:
7

הסבר: המספר 7 לא קיים במערך ומקיים את תנאי השאלה

Loading...
נשמרLn 1, Col 1

קלט:

nums = [80, 70, 50, 40, 20, 10, 3]

הפלט המבוקש:

49