מערך ממוין לסירוגין משני מערכים באורך מקסימלי

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

אנחנו מעוניינים ליצור מערך ממוין בסדר עולה ממש משני המערכים, כך שהאיברים בו נלקחים לסירוגין מהמערך a ומהמערך b.

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

 01
a=1020
 012
b=52030

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

בדוגמא לעיל, יוחזר הערך 3, ויודפס אחד מהמערכים {5,20,30} ,{5,10,30} ,{5,10,20}

אם המערכים הנתונים הם: c = {2} d = {2}

אז המערך היחיד שנוצר הוא {2} ואורכו הוא 1

השיטה צריכה להיות רקורסיבית ללא שימוש בלולאות כלל. כך גם כל שיטות העזר (אם תכתבו) לא יכולות להכיל לולאות.

אילוצים:
  • המערכים מלאים בנתונים חוקיים ואינם null.
  • יש להחזיר את אורך המערך הארוך ביותר ולהדפיס את תוכנו של מערך זה.
דוגמה 1:
קלט:
a = [10, 20],
b = [5, 20, 30]
פלט:
[5, 10, 20]
3

הסבר: המערך הארוך ביותר שניתן ליצור הוא באורך 3. אחד מהמערכים האפשריים הוא {5, 10, 20}. המערכים האחרים באותו אורך הם {5, 10, 30} או {5, 20, 30}.

דוגמה 2:
קלט:
a = [2],
b = [2]
פלט:
[2]
1

הסבר: המערך היחיד האפשרי הוא {2} באורך 1.

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

הסבר: המערך הארוך ביותר האפשרי הוא {1, 2, 3, 4, 5, 6} באורך 6.

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

הסבר: המערך הארוך ביותר האפשרי הוא {5, 20} באורך 2.

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

הסבר: המערך הארוך ביותר האפשרי הוא {1, 2, 3, 4, 5} באורך 5.

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

הסבר: המערך הארוך ביותר האפשרי הוא {5, 10, 15} באורך 3.

דוגמה 7:
קלט:
a = [100, 200, 300],
b = [100, 200, 300]
פלט:
[100, 200, 300]
3

הסבר: המערכים זהים, ולכן המערך הארוך ביותר יכול להיות {100, 200, 300} באורך 3.

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

הסבר: כאשר a[0] == b[0] חייבים לבדוק את שתי האפשרויות. התחלה ממערך a נותנת רק {3, 8} (אורך 2), אך התחלה ממערך b נותנת {3, 7, 8} (אורך 3). לכן זו האפשרות הנבחרת. גם {3, 7, 9} ו-{3, 8, 9} הם פתרונות אפשריים באורך 3.

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

קלט:

a = [10, 20],
b = [5, 20, 30]

הפלט המבוקש:

[5, 10, 20]
3