0 added
0 removed
Original
2026-01-01
Modified
2026-02-21
1
<p><a>#статьи</a></p>
1
<p><a>#статьи</a></p>
2
<ul><li>23 янв 2023</li>
2
<ul><li>23 янв 2023</li>
3
<li>0</li>
3
<li>0</li>
4
</ul><h2>Задача: проверить массив на дубликаты</h2>
4
</ul><h2>Задача: проверить массив на дубликаты</h2>
5
<p>Решаем задачи, которые дают программистам на собеседованиях в IT-компаниях. Сегодня ищем в массиве повторяющиеся элементы.</p>
5
<p>Решаем задачи, которые дают программистам на собеседованиях в IT-компаниях. Сегодня ищем в массиве повторяющиеся элементы.</p>
6
<p>Иллюстрация: Polina Vari для Skillbox Media</p>
6
<p>Иллюстрация: Polina Vari для Skillbox Media</p>
7
<p>Любитель научной фантастики и технологического прогресса. Хорошо сочетает в себе заумного технаря и утончённого гуманитария. Пишет про IT и радуется этому.</p>
7
<p>Любитель научной фантастики и технологического прогресса. Хорошо сочетает в себе заумного технаря и утончённого гуманитария. Пишет про IT и радуется этому.</p>
8
<p><strong>Условие.</strong>Дан массив целых чисел - nums. Необходимо написать функцию, которая возвращает true, если в этом массиве хотя бы одно число повторяется дважды. Если же все элементы уникальны, функция должна вернуть false.</p>
8
<p><strong>Условие.</strong>Дан массив целых чисел - nums. Необходимо написать функцию, которая возвращает true, если в этом массиве хотя бы одно число повторяется дважды. Если же все элементы уникальны, функция должна вернуть false.</p>
9
Ввод: nums = [1,2,3,1] Вывод: true Ввод: nums = [1,2,3,4] Вывод: false Ввод: nums = [1,1,1,3,3,4,3,2,4,2] Вывод: true<p>Решить эту задачу самостоятельно и на разных языках программирования можно на <a>LeetCode</a>. Наше решение взято из телеграм-канала Сергея<a>Cracking code interview</a>.</p>
9
Ввод: nums = [1,2,3,1] Вывод: true Ввод: nums = [1,2,3,4] Вывод: false Ввод: nums = [1,1,1,3,3,4,3,2,4,2] Вывод: true<p>Решить эту задачу самостоятельно и на разных языках программирования можно на <a>LeetCode</a>. Наше решение взято из телеграм-канала Сергея<a>Cracking code interview</a>.</p>
10
<p><strong>Решение</strong></p>
10
<p><strong>Решение</strong></p>
11
<p>При решении подобных задач важно выбрать подходящий тип данных. Здесь мы исходим из такой логики: "повторяется дважды" → значит, ищем дубликаты. Следовательно, выбираем множество (set).</p>
11
<p>При решении подобных задач важно выбрать подходящий тип данных. Здесь мы исходим из такой логики: "повторяется дважды" → значит, ищем дубликаты. Следовательно, выбираем множество (set).</p>
12
<p>Мы создадим пустое множество и будем обходить весь массив, просто проверяя, находится ли элемент во множестве:</p>
12
<p>Мы создадим пустое множество и будем обходить весь массив, просто проверяя, находится ли элемент во множестве:</p>
13
<ul><li>если он ещё не находится - добавляем его;</li>
13
<ul><li>если он ещё не находится - добавляем его;</li>
14
<li>если элемент уже там - значит, мы встретили повторяющийся элемент и просто возвращаем true.</li>
14
<li>если элемент уже там - значит, мы встретили повторяющийся элемент и просто возвращаем true.</li>
15
</ul>public boolean containsDuplicate(int[] nums) { Set<Integer> set = new HashSet<>(); for (int i : nums) { if (set.contains(i)) { return true; } else { set.add(i); } } return false; }<p><strong>Результаты</strong></p>
15
</ul>public boolean containsDuplicate(int[] nums) { Set<Integer> set = new HashSet<>(); for (int i : nums) { if (set.contains(i)) { return true; } else { set.add(i); } } return false; }<p><strong>Результаты</strong></p>
16
<p><strong>Временная сложность:</strong>O(n) - так как в самом плохом случае мы проходимся по всему массиву.</p>
16
<p><strong>Временная сложность:</strong>O(n) - так как в самом плохом случае мы проходимся по всему массиву.</p>
17
<p><strong>Ёмкостная сложность:</strong>O(1) - нам нужно заранее определённое количество места в памяти.</p>
17
<p><strong>Ёмкостная сложность:</strong>O(1) - нам нужно заранее определённое количество места в памяти.</p>
18
<a>Научитесь: Профессия Java-разработчик + ИИ Узнать больше</a>
18
<a>Научитесь: Профессия Java-разработчик + ИИ Узнать больше</a>