מציאת נקודת מפגש במערכים

נתונים שני מערכים חד-ממדיים a ו-b המלאים במספרים שלמים. המערך a ממוין בסדר לא עולה (כלומר, סדר יורד אבל יכולים להיות מספרים שווים), והמערך b ממוין בסדר לא יורד.

יש להחזיר את האינדקס i הקטן ביותר שמקיים a[i] == b[i], אם לא קיים כזה יוחזר -1.

לדוגמה, אם נתונים המערכים הבאים:

 012345678
a=19191615151515135
 012345678910
b=012131414151519253035

אזי יוחזר הערך 5 כיוון שהוא הקטן ביותר בו האיבר במערך a שווה לאיבר במערך b.

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

דוגמה 1:
קלט:
a = [19, 19, 16, 15, 15, 15, 15, 13, 5],
b = [0, 12, 13, 14, 14, 15, 15, 19, 25, 30, 35]
פלט:
5

הסבר: האינדקס הקטן ביותר שבו a[i] == b[i] הוא 5.

דוגמה 2:
קלט:
a = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1],
b = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
פלט:
-1

הסבר: אין אינדקס שבו a[i] == b[i].

דוגמה 3:
קלט:
a = [5, 5, 5, 5, 5],
b = [5, 5, 5, 5, 5]
פלט:
0

הסבר: האינדקס הקטן ביותר שבו a[i] == b[i] הוא 0.

דוגמה 4:
קלט:
a = [7, 6, 5, 4, 3, 2, 1],
b = [1, 2, 3, 4, 5, 6, 7]
פלט:
3

הסבר: האינדקס הקטן ביותר שבו a[i] == b[i] הוא 3.

דוגמה 5:
קלט:
a = [9, 8, 7, 6, 5, 4, 3, 2, 1],
b = [1, 2, 3, 4, 5, 6, 7, 8, 9]
פלט:
4

הסבר: האינדקס הקטן ביותר שבו a[i] == b[i] הוא 4.

דוגמה 6:
קלט:
a = [20, 18, 16, 14, 12, 10, 8, 6, 4, 2],
b = [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
פלט:
-1

הסבר: אין אינדקס שבו a[i] == b[i].

דוגמה 7:
קלט:
a = [15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5],
b = [5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
פלט:
5

הסבר: האינדקס הקטן ביותר שבו a[i] == b[i] הוא 5.

דוגמה 8:
קלט:
a = [30, 25, 20, 15, 10, 5],
b = [5, 10, 15, 20, 25, 30]
פלט:
-1

הסבר: אין אינדקס שבו a[i] == b[i].

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

קלט:

a = [19, 19, 16, 15, 15, 15, 15, 13, 5],
b = [0, 12, 13, 14, 14, 15, 15, 19, 25, 30, 35]

הפלט המבוקש:

5