Update binary search
This commit is contained in:
parent
3fc3475af4
commit
193f67f99e
@ -169,12 +169,29 @@ $$
|
||||
|
||||
当数组长度很大时,加法 $i + j$ 的结果有可能会超出 `int` 类型的取值范围。在此情况下,我们需要换一种计算中点的写法。
|
||||
|
||||
```java
|
||||
// (i + j) 有可能超出 int 的取值范围
|
||||
int m = (i + j) / 2;
|
||||
// 更换为此写法则不会越界
|
||||
int m = i + (j - i) / 2;
|
||||
```
|
||||
=== "Java"
|
||||
|
||||
```java
|
||||
// (i + j) 有可能超出 int 的取值范围
|
||||
int m = (i + j) / 2;
|
||||
// 更换为此写法则不会越界
|
||||
int m = i + (j - i) / 2;
|
||||
```
|
||||
=== "C++"
|
||||
|
||||
```cpp
|
||||
// (i + j) 有可能超出 int 的取值范围
|
||||
int m = (i + j) / 2;
|
||||
// 更换为此写法则不会越界
|
||||
int m = i + (j - i) / 2;
|
||||
```
|
||||
|
||||
=== "Python"
|
||||
|
||||
```py
|
||||
# Python 中的数字理论上可以无限大(取决于内存)
|
||||
# 因此无需考虑大数越界问题
|
||||
```
|
||||
|
||||
## 复杂度分析
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user