【Java】LeetCode题答-704二分查找

LeetCood题目

image-20210630045728618

题答1(递归解法完整代码)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//704
class Solution {
public int search(int[] nums, int target) {

return search(nums ,0, nums.length-1, target);
}

private int search(int[] data, int l , int r, int target){

if(l > r) return -1;

int mid = l + (r - l) / 2;
if(data[mid] == target)
return mid;
if(data[mid] < target )
return search(data, mid + 1, r, target);
else
return search(data, l, mid - 1 , target);
}
}

题答2(非递归解法完整代码)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//704
class Solution {

public int search(int[] nums, int target){

int l = 0, r = nums.length - 1;

// 在data[l, r ]范围中查找 target
while(l <= r){
int mid = l + (r - l ) / 2;
if(nums[][mid] == target)
return mid;
if(nums[mid] < target)
l = mid + 1;
else
r = mid - 1;
}
return -1;
}
}

测试截图

题答1

image-20210630045847788

题答2

image-20210630051214790

我的个人博客

孤桜懶契:http://gylq.github.io

本文标题:【Java】LeetCode题答-704二分查找

文章作者:孤桜懶契

发布时间:2021年06月30日 - 04:57:23

最后更新:2022年05月20日 - 11:47:45

原始链接:https://gylq.gitee.io/posts/46.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

-------------------本文结束 感谢您的阅读-------------------