המשימה
נתונים שני מערכים ממוינים בסדר עולה.
כתוב פעולה שמחזירה מערך חדש שמכיל את כל האיברים של שניהם, ממוין
בסדר עולה.
דוגמה:
[1, 4, 9] ו-[2, 3, 10] → [1, 2, 3, 4, 9, 10]
הנחיות:
• אסור לשרשר את שני המערכים ולמיין. הפתרון חייב לנצל את העובדה
ששניהם כבר ממוינים, ולעבור על כל אחד מהם פעם אחת בלבד.
• החזק שני מדדים, אחד לכל מערך. בכל צעד קח את הקטן מבין שני
האיברים הנוכחיים וקדם רק את המדד שממנו לקחת.
• כשאחד המערכים נגמר — העתק את שארית השני. אל תשכח את השלב הזה.
• מערך יכול להיות ריק.
```ds:array
{"title":"מערך א","items":["1","4","9"]}
```
```ds:array
{"title":"מערך ב","items":["2","3","10"]}
```
```ds:array
{"title":"התוצאה","items":["1","2","3","4","9","10"]}
```
קוד הפתיחה
public class Main {
public static int[] merge(int[] a, int[] b) {
// כתוב את הפתרון כאן — מעבר אחד על כל מערך
return new int[0];
}
public static void print(int[] arr) {
String line = "";
for (int i = 0; i < arr.length; i++) line = line + arr[i] + " ";
System.out.println(line.trim());
}
public static void main(String[] args) {
print(merge(new int[]{1, 4, 9}, new int[]{2, 3, 10})); // 1 2 3 4 9 10
print(merge(new int[]{}, new int[]{5, 6})); // 5 6
print(merge(new int[]{1, 2}, new int[]{})); // 1 2
print(merge(new int[]{2, 2}, new int[]{2})); // 2 2 2
}
}
כדי לכתוב, להריץ ולקבל משוב — התחבר עם חשבון Google. לוקח שנייה.
המשוב נוצר על ידי AI ועשוי לטעות. אם אתה חושב שהפתרון שלך נכון —
כנראה שאתה צודק. הציון כאן הוא לתרגול בלבד ואינו מדווח לאיש.
אל תכתוב בקוד פרטים אישיים כמו שם מלא, טלפון או כתובת. הקוד נשלח לשירות
בדיקה חיצוני.