auto commit

This commit is contained in:
CyC2018
2019-11-02 12:07:41 +08:00
parent 182e1440a4
commit bb6e0df82d
784 changed files with 7545 additions and 2827 deletions

View File

@ -8,7 +8,7 @@
<!-- GFM-TOC -->
**正常实现**
正常实现**
```text
Input : [1,2,3,4,5]
@ -33,11 +33,11 @@ public int binarySearch(int[] nums, int key) {
}
```
**时间复杂度**
**时间复杂度**
二分查找也称为折半查找每次都能将查找区间减半这种折半特性的算法时间复杂度为 O(logN)
**m 计算**
**m 计算**
有两种计算中值 m 的方式
@ -46,14 +46,14 @@ public int binarySearch(int[] nums, int key) {
l + h 可能出现加法溢出也就是说加法的结果大于整型能够表示的范围但是 l h 都为正数因此 h - l 不会出现加法溢出问题所以最好使用第二种计算法方法
**未成功查找的返回值**
**未成功查找的返回值**
循环退出时如果仍然没有查找到 key那么表示查找失败可以有两种返回值
- -1以一个错误码表示没有查找到 key
- l key 插入到 nums 中的正确位置
**变种**
**变种**
二分查找可以有很多变种变种实现要注意边界值的判断例如在一个有重复元素的数组中查找 key 的最左位置的实现如下