Đ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[] arr, int target) {2 int left = 0, right = arr.length - 1; // Toàn dải tìm kiếm3 while (left <= right) { // Khi dải chưa rỗng4 int mid = (left + right) / 2; // Chỉ số giữa5 if (arr[mid] == target) return mid; // Tìm thấy6 else if (arr[mid] < target) left = mid + 1; // Bỏ nửa trái7 else right = mid - 1; // Bỏ nửa phải8 }9 return -1; // Không có trong mảng10}