This commit is contained in:
krahets
2026-04-14 18:06:19 +08:00
parent 17b2a0b630
commit cf0747ba3e
131 changed files with 604 additions and 609 deletions
@@ -4363,7 +4363,7 @@
<p>Дан массив целых чисел <code>nums</code> и целевой элемент <code>target</code> . Найдите в массиве два элемента, сумма которых равна <code>target</code> , и верните их индексы. Подойдет любой корректный ответ.</p>
</div>
<h2 id="1041">10.4.1 &nbsp; Линейный поиск: обмен времени на пространство<a class="headerlink" href="#1041" title="Permanent link">&para;</a></h2>
<p>Рассмотрим прямой перебор всех возможных комбинаций. Как показано на рисунке 10-9, мы запускаем два вложенных цикла и на каждом шаге проверяем, равна ли сумма двух целых чисел <code>target</code> ; если да, то возвращаем их индексы.</p>
<p>Рассмотрим прямой перебор всех возможных комбинаций. Как показано на рисунке 10-9, мы запускаем два вложенных цикла и на каждом шаге проверяем, равна ли сумма двух целых чисел <code>target</code>. Если да, то возвращаем их индексы.</p>
<p><img alt="Линейный поиск для задачи о двух суммах" class="animation-figure" src="../replace_linear_by_hashing.assets/two_sum_brute_force.png" /></p>
<p align="center"> Рисунок 10-9 &nbsp; Линейный поиск для задачи о двух суммах </p>
@@ -4576,7 +4576,7 @@
<h2 id="1042-">10.4.2 &nbsp; Хеш-поиск: обмен пространства на время<a class="headerlink" href="#1042-" title="Permanent link">&para;</a></h2>
<p>Рассмотрим вариант с использованием хеш-таблицы, где ключами и значениями будут элементы массива и их индексы. При циклическом обходе массива на каждом шаге выполняются действия, показанные на рисунке 10-10.</p>
<ol>
<li>Проверить, находится ли число <code>target - nums[i]</code> в хеш-таблице; если да, то сразу вернуть индексы этих двух элементов.</li>
<li>Проверить, находится ли число <code>target - nums[i]</code> в хеш-таблице. Если да, то сразу вернуть индексы этих двух элементов.</li>
<li>Добавить в хеш-таблицу пару из ключа <code>nums[i]</code> и индекса <code>i</code> .</li>
</ol>
<div class="tabbed-set tabbed-alternate" data-tabs="2:3"><input checked="checked" id="__tabbed_2_1" name="__tabbed_2" type="radio" /><input id="__tabbed_2_2" name="__tabbed_2" type="radio" /><input id="__tabbed_2_3" name="__tabbed_2" type="radio" /><div class="tabbed-labels"><label for="__tabbed_2_1">&lt;1&gt;</label><label for="__tabbed_2_2">&lt;2&gt;</label><label for="__tabbed_2_3">&lt;3&gt;</label></div>