mirror of
https://github.com/krahets/hello-algo.git
synced 2026-07-09 05:56:06 +00:00
Remove the spaces between “ ” and 中文 aside.
This commit is contained in:
@@ -24,9 +24,9 @@ $$
|
||||
1. **双闭区间 $[0, n-1]$** ,即两个边界都包含自身;此方法下,区间 $[0, 0]$ 仍包含一个元素;
|
||||
2. **左闭右开 $[0, n)$** ,即左边界包含自身、右边界不包含自身;此方法下,区间 $[0, 0)$ 为空;
|
||||
|
||||
### “双闭区间” 实现
|
||||
### “双闭区间”实现
|
||||
|
||||
首先,我们先采用 “双闭区间” 的表示,在数组 `nums` 中查找目标元素 `target` 的对应索引。
|
||||
首先,我们先采用“双闭区间”的表示,在数组 `nums` 中查找目标元素 `target` 的对应索引。
|
||||
|
||||
=== "Step 1"
|
||||
|
||||
@@ -56,7 +56,7 @@ $$
|
||||
|
||||

|
||||
|
||||
二分查找 “双闭区间” 表示下的代码如下所示。
|
||||
二分查找“双闭区间”表示下的代码如下所示。
|
||||
|
||||
=== "Java"
|
||||
|
||||
@@ -167,9 +167,9 @@ $$
|
||||
|
||||
```
|
||||
|
||||
### “左闭右开” 实现
|
||||
### “左闭右开”实现
|
||||
|
||||
当然,我们也可以使用 “左闭右开” 的表示方法,写出相同功能的二分查找代码。
|
||||
当然,我们也可以使用“左闭右开”的表示方法,写出相同功能的二分查找代码。
|
||||
|
||||
=== "Java"
|
||||
|
||||
@@ -294,7 +294,7 @@ $$
|
||||
|
||||
</div>
|
||||
|
||||
观察发现,在 “双闭区间” 表示中,由于对左右两边界的定义是相同的,因此缩小区间的 $i$ , $j$ 处理方法也是对称的,这样更不容易出错。综上所述,**建议你采用 “双闭区间” 的写法。**
|
||||
观察发现,在“双闭区间”表示中,由于对左右两边界的定义是相同的,因此缩小区间的 $i$ , $j$ 处理方法也是对称的,这样更不容易出错。综上所述,**建议你采用“双闭区间”的写法。**
|
||||
|
||||
### 大数越界处理
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ comments: true
|
||||
|
||||
在数据量很大时,「线性查找」太慢;而「二分查找」要求数据必须是有序的,并且只能在数组中应用。那么是否有方法可以同时避免上述缺点呢?答案是肯定的,此方法被称为「哈希查找」。
|
||||
|
||||
「哈希查找 Hash Searching」借助一个哈希表来存储需要的「键值对 Key Value Pair」,我们可以在 $O(1)$ 时间下实现 “键 $\rightarrow$ 值” 映射查找,体现着 “以空间换时间” 的算法思想。
|
||||
「哈希查找 Hash Searching」借助一个哈希表来存储需要的「键值对 Key Value Pair」,我们可以在 $O(1)$ 时间下实现“键 $\rightarrow$ 值”映射查找,体现着“以空间换时间”的算法思想。
|
||||
|
||||
## 算法实现
|
||||
|
||||
|
||||
Reference in New Issue
Block a user