JAVA-二元搜索法(Binary Search)
JAVA-二元搜索法(Binary Search)
資料來源:https://mp.weixin.qq.com/s/pz01P-0vHxwrKSHPgqEu7g
再有排列(排序)的數據資料,搜尋其時間複雜度是O(logn)
public static int binarySearch(int target, int[] arr) { // 数组最左边元素下标 int left = 0; // 数组最右边元素下标 int right = arr.length - 1; while (left <= right) { // 中间元素下标 int mid = (right + left) / 2; if (arr[mid] > target) { right = mid - 1; } else if (arr[mid] < target) { left = mid + 1; } else { return arr[mid]; } } return -1; }