代码随想录算法训练营第一天| 704. 二分查找、27. 移除元素

学习文章: [数组理论基础](https://programmercarl.com/数组理论基础.html)

### 704. 二分查找

学习视频: [手把手带你撕出正确的二分法 | 二分查找法 | 二分搜索法 | LeetCode:704. 二分查找](https://www.bilibili.com/video/BV1fA4y1o715/?vd_source=4d69a77a9acd27ece61c2597da6c8379)

while条件应该使符合条件的区间合法, 更新左右边界应该刚好排除不可能的index.

对于[left, right]区间, while条件应该为left<=right, 更新左边界方法: left=mid+1 ,更新右边界方法: right=mid-1;

对于[left, right)区间, while条件应该为left<right, 更新左边界方法: left=mid+1 ,更新右边界方法: right=mid;

```java

class Solution {

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

int left =0;

int right = nums.length;

int mid;

while (left < right) {

mid = left + (right - left) /2;

if (target > nums[mid]) {

left = mid +1;

}else if (target < nums[mid]) {

right = mid;

}else return mid;

}

return -1;

}

}

```

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容