Đang tải…
Đang tải…
Trên mảng đã sắp xếp, liên tục chia đôi vùng tìm bằng cách so sánh phần tử giữa với target — O(log n).
Tìm 53 trong mảng đã sắp xếp.
Mẹo: bấm vào một cột để chọn nó làm mục tiêu.
1int binarySearch(int[] a, int target) {2 int lo = 0, hi = a.length - 1;3 while (lo <= hi) {4 int mid = (lo + hi) / 2;5 if (a[mid] == target) return mid;6 else if (a[mid] < target) lo = mid + 1;7 else hi = mid - 1;8 }9 return -1;10}