mirror of
https://github.com/krahets/hello-algo.git
synced 2025-07-28 04:42:48 +08:00
deploy
This commit is contained in:
@ -18,7 +18,7 @@
|
||||
<link rel="prev" href="../">
|
||||
|
||||
|
||||
<link rel="next" href="../binary_search_edge/">
|
||||
<link rel="next" href="../binary_search_insertion/">
|
||||
|
||||
|
||||
<link rel="icon" href="../../assets/images/favicon.png">
|
||||
@ -1769,6 +1769,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -1891,14 +1893,50 @@
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../binary_search_insertion/" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
10.2. 二分查找插入点
|
||||
</span>
|
||||
|
||||
|
||||
|
||||
|
||||
<span class="md-status md-status--new" title="最近添加">
|
||||
</span>
|
||||
|
||||
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../binary_search_edge/" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
10.2. 二分查找边界
|
||||
10.3. 二分查找边界
|
||||
</span>
|
||||
|
||||
|
||||
|
||||
|
||||
<span class="md-status md-status--new" title="最近添加">
|
||||
</span>
|
||||
|
||||
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
@ -1916,7 +1954,7 @@
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
10.3. 哈希优化策略
|
||||
10.4. 哈希优化策略
|
||||
</span>
|
||||
|
||||
|
||||
@ -1936,7 +1974,7 @@
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
10.4. 重识搜索算法
|
||||
10.5. 重识搜索算法
|
||||
</span>
|
||||
|
||||
|
||||
@ -1956,7 +1994,7 @@
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
10.5. 小结
|
||||
10.6. 小结
|
||||
</span>
|
||||
|
||||
|
||||
@ -3379,7 +3417,10 @@
|
||||
<p class="admonition-title">Question</p>
|
||||
<p>给定一个长度为 <span class="arithmatex">\(n\)</span> 的数组 <code>nums</code> ,元素按从小到大的顺序排列,数组不包含重复元素。请查找并返回元素 <code>target</code> 在该数组中的索引。若数组不包含该元素,则返回 <span class="arithmatex">\(-1\)</span> 。</p>
|
||||
</div>
|
||||
<p>对于上述问题,我们先初始化指针 <span class="arithmatex">\(i = 0\)</span> 和 <span class="arithmatex">\(j = n - 1\)</span> ,分别指向数组首元素和尾元素,代表搜索区间 <span class="arithmatex">\([0, n - 1]\)</span> 。其中,中括号表示“闭区间”,即包含边界值本身。</p>
|
||||
<p><img alt="二分查找示例数据" src="../binary_search.assets/binary_search_example.png" /></p>
|
||||
<p align="center"> Fig. 二分查找示例数据 </p>
|
||||
|
||||
<p>对于上述问题,我们先初始化指针 <span class="arithmatex">\(i = 0\)</span> 和 <span class="arithmatex">\(j = n - 1\)</span> ,分别指向数组首元素和尾元素,代表搜索区间 <span class="arithmatex">\([0, n - 1]\)</span> 。请注意,中括号表示闭区间,其包含边界值本身。</p>
|
||||
<p>接下来,循环执行以下两个步骤:</p>
|
||||
<ol>
|
||||
<li>计算中点索引 <span class="arithmatex">\(m = \lfloor {(i + j) / 2} \rfloor\)</span> ,其中 <span class="arithmatex">\(\lfloor \space \rfloor\)</span> 表示向下取整操作。</li>
|
||||
@ -3391,12 +3432,9 @@
|
||||
</li>
|
||||
</ol>
|
||||
<p>若数组不包含目标元素,搜索区间最终会缩小为空。此时返回 <span class="arithmatex">\(-1\)</span> 。</p>
|
||||
<div class="tabbed-set tabbed-alternate" data-tabs="1:8"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><input id="__tabbed_1_3" name="__tabbed_1" type="radio" /><input id="__tabbed_1_4" name="__tabbed_1" type="radio" /><input id="__tabbed_1_5" name="__tabbed_1" type="radio" /><input id="__tabbed_1_6" name="__tabbed_1" type="radio" /><input id="__tabbed_1_7" name="__tabbed_1" type="radio" /><input id="__tabbed_1_8" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1"><0></label><label for="__tabbed_1_2"><1></label><label for="__tabbed_1_3"><2></label><label for="__tabbed_1_4"><3></label><label for="__tabbed_1_5"><4></label><label for="__tabbed_1_6"><5></label><label for="__tabbed_1_7"><6></label><label for="__tabbed_1_8"><7></label></div>
|
||||
<div class="tabbed-set tabbed-alternate" data-tabs="1:7"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><input id="__tabbed_1_3" name="__tabbed_1" type="radio" /><input id="__tabbed_1_4" name="__tabbed_1" type="radio" /><input id="__tabbed_1_5" name="__tabbed_1" type="radio" /><input id="__tabbed_1_6" name="__tabbed_1" type="radio" /><input id="__tabbed_1_7" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1"><1></label><label for="__tabbed_1_2"><2></label><label for="__tabbed_1_3"><3></label><label for="__tabbed_1_4"><4></label><label for="__tabbed_1_5"><5></label><label for="__tabbed_1_6"><6></label><label for="__tabbed_1_7"><7></label></div>
|
||||
<div class="tabbed-content">
|
||||
<div class="tabbed-block">
|
||||
<p><img alt="二分查找步骤" src="../binary_search.assets/binary_search_step0.png" /></p>
|
||||
</div>
|
||||
<div class="tabbed-block">
|
||||
<p><img alt="binary_search_step1" src="../binary_search.assets/binary_search_step1.png" /></p>
|
||||
</div>
|
||||
<div class="tabbed-block">
|
||||
@ -4059,13 +4097,13 @@
|
||||
|
||||
|
||||
|
||||
<a href="../binary_search_edge/" class="md-footer__link md-footer__link--next" aria-label="下一页: 10.2. &nbsp; 二分查找边界" rel="next">
|
||||
<a href="../binary_search_insertion/" class="md-footer__link md-footer__link--next" aria-label="下一页: 10.2. &nbsp; 二分查找插入点" rel="next">
|
||||
<div class="md-footer__title">
|
||||
<span class="md-footer__direction">
|
||||
下一页
|
||||
</span>
|
||||
<div class="md-ellipsis">
|
||||
10.2. 二分查找边界
|
||||
10.2. 二分查找插入点
|
||||
</div>
|
||||
</div>
|
||||
<div class="md-footer__button md-icon">
|
||||
|
Reference in New Issue
Block a user