leetcode数组系列之搜索排序篇

image.png

前言

先是学习Expore中的二分搜索,写这篇文章记录下遇到的好的例题和好的代码题解。

首先这是二分搜索模块

最简单的实现运用

就最简单的实现二分搜索,一开始建议通过自己思考去完成,尽量不看题解去完成。

image-20200610223905416

image-20200610225851997

left+(right-left) / 2这个操作是防止越界。

求数的开方

image-20200611223407129

答案-就简单的二分法去做

image-20200611223450452

还有一种利用数学的方法去做

1
2
3
4
5
6
7
8
9
10
class Solution {
public int mySqrt(int x) {
//利用数学的方法去做
long r = x;
while(r * r > x){
r = (r + x / r) / 2;
}
return (int)r;
}
}

评论