תרגול מדעי המחשב

חיפוש בינארי

מאתגר Java

המשימה

כתוב פעולה שמקבלת מערך **ממוין** וערך לחיפוש, ומחזירה את האינדקס שבו
הערך נמצא, או -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 ועשוי לטעות. אם אתה חושב שהפתרון שלך נכון — כנראה שאתה צודק. הציון כאן הוא לתרגול בלבד ואינו מדווח לאיש.
אל תכתוב בקוד פרטים אישיים כמו שם מלא, טלפון או כתובת. הקוד נשלח לשירות בדיקה חיצוני.