Zi 字媒體
2017-07-25T20:27:27+00:00
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;
}
寫了
5860316篇文章,獲得
23313次喜歡