Публикации по теме 'two-pointers'


Алгоритмы - шаблон двоичного поиска, который может решить множество проблем
Обсуждение двоичного поиска и того, как использовать его код шаблона с двумя указателями для решения нескольких вопросов собеседования на C # для лучшего понимания структуры данных и алгоритмов. Цель Цель состоит в том, чтобы поделиться некоторыми краткими заметками о двоичном поиске и его реализации с использованием алгоритма рекурсии и двух указателей. Будем надеяться, что сводные заметки высокого уровня позволят вам добавить двоичный поиск в свою сумку с инструментами, не забиваясь..

Переместить нули
Различные подходы к решению Leetcode 283 в JavaScript Сегодня мы рассмотрим распространенную проблему, которая часто возникает при работе с целочисленными массивами: как эффективно переместить все 0 в конец, сохранив порядок ненулевых элементов. Хотя поначалу это может показаться простой задачей, эта проблема требует тщательного изучения методов манипулирования массивами и стратегий оптимизации. К концу этой статьи вы будете лучше понимать работу с массивами в целом. Постановка..

Шаблон с двумя указателями: обязательный навык для каждого программиста
Пошаговое руководство для начинающих Python В задачах программирования вам часто может понадобиться найти пары элементов в массиве, которые удовлетворяют определенному условию . Например, вам может понадобиться найти в массиве два числа, которые в сумме дают целевую сумму. Шаблон двух указателей может использоваться для решения таких проблем более эффективно , предоставляя более быстрое и оптимизированное решение по сравнению с подходом грубой силы . Пошаговое руководство по..

Почти палиндром
Нам дана задача : Учитывая строку s , вернуть true если s может быть палиндромом после удаления из него не более одного символа . Как это решить? Как правило, когда мы имеем дело с палиндромами (слова, которые пишутся одинаково как вперед, так и назад), наиболее оптимальным решением было бы установить два указателя, один на left , а другой на right , сводя их вместе, пока мы не заметим что значения left и right не равны. Но что, если у нас есть один символ в..

LeetCode 287. Найдите повторяющийся номер
Дан массив целых чисел nums , содержащий n + 1 целых чисел, где каждое целое число находится в диапазоне [1, n] включительно. В nums есть только один повторяющийся номер , верните этот повторяющийся номер . Вы должны решить проблему без изменения массива nums и использовать только постоянное дополнительное пространство. Input: nums = [3,1,3,4,2] Output: 3

Алгоритмы: 2 указателя, удаление N-го узла из связанного списка
Проблема Учитывая head связанного списка, удалите узел nth из конца списка и верните его заголовок. Пример 1: Input: head = [1,2,3,4,5], n = 2 Output: [1,2,3,5] Пример 2: Input: head = [1], n = 1 Output: [] Пример 3: Input: head = [1,2], n = 1 Output: [1] Просто поясню: тип структуры входных и выходных данных – это связанный список, а не массив. Пример 3 ввода: {val: 1, next: {val: 2, next: null}} Пример 3 вывода: {val: 1, next: null}..

Техника двух указателей
В этой второй части моей серии Алгоритмы и структуры данных я объясняю очень распространенный метод, используемый в алгоритмах поиска: метод двух указателей. Первая часть, Проблемы со скользящим окном в JavaScript , не является предварительным условием для понимания материала этой статьи, но она охватывает другой распространенный шаблон кодирования, полезный для вопросов на собеседовании по разработке программного обеспечения, и его можно прочитать здесь . Почему два указателя?..