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