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


Пересечение двух связанных списков
Различные подходы к решению Leetcode 160 в JavaScript Одной из распространенных проблем, связанных со связанными списками, является определение того, пересекаются ли и где два списка. Точка пересечения определяется как узел, в котором два связанных списка имеют общие элементы. Эта проблема представляет собой интересную проблему из-за разной длины списков и необходимости эффективно идентифицировать точку пересечения. В этой статье мы рассмотрим различные подходы к решению проблемы..

LeetCode 3. Самая длинная подстрока без повторяющихся символов JavaScript-решение
Самая длинная подстрока без повторяющихся символов — LeetCode Повышайте свои навыки программирования и быстро получите работу. Это лучшее место, чтобы расширить свои знания и подготовиться… leetcode.com /** * @param {string} s * @return {number} */ var lengthOfLongestSubstring = function(s) { let startIdx = 0 let maxLength = 0 let curSet = new Set() for (let endIdx = 0; endIdx < s.length; endIdx++) { if..

Удалить элемент
Задача «Удалить элемент» требует от нас удалить все вхождения заданного значения из массива. Хотя на первый взгляд задача кажется простой, найти наиболее эффективное решение может быть непросто. В этой статье мы рассмотрим три разных подхода к решению этой проблемы, начиная с наивного подхода и постепенно переходя к более оптимизированным решениям. Постановка проблемы: Учитывая массив целых чисел nums и целое число val , удалите все вхождения val в nums на месте. Порядок..

Удалить дубликаты из отсортированного списка
При работе с отсортированными связанными списками распространенной проблемой является удаление повторяющихся узлов при сохранении исходного порядка отдельных элементов. В этой статье мы углубимся в решение проблемы «Удалить дубликаты из отсортированного списка». Мы изучим интуицию, стоящую за подходами, проанализируем их временную и пространственную сложность и реализуем их на JavaScript. Постановка проблемы: Учитывая head отсортированного связанного списка, удалить все..

Цикл связанного списка
Медленный бегун в конце концов встретится с быстрым бегуном на круговой дорожке… В первый раз, когда я увидел 142. Linked List Cycle II , я ставлю лишнее значение visited в каждый из узлов, чего нельзя допускать и это также занимает больше памяти. Лучшим решением является использование двух указателей, которые я хотел бы назвать «два бегуна», потому что это помогает мне представить это в моей голове. Представьте, что есть два бегуна, и если они продолжат бежать по круговой дорожке,..

Два указателя: удаление дубликатов из отсортированного массива II
Учитывая отсортированный массив, удалите дубликаты на месте, чтобы каждый элемент мог появляться не более двух раз и возвращать новую длину. Не выделяйте лишнее место под другой массив, это нужно делать на месте с постоянной памятью. Полный вопрос читайте здесь — https://www.interviewbit.com/problems/min-steps-in-infinite-grid/ Спросили в Expedia, Microsoft. Посмотрите полное видео, чтобы полностью понять алгоритм. Проверьте этот простой код. Если вы нашли эту статью..

JavaScript: удаление дубликатов из отсортированного массива на месте
Задача выбрана из списка самых популярных вопросов на собеседовании LeetCode Сегодня мы будем работать над алгоритмом Удалить дубликаты из отсортированного массива из Списка самых популярных вопросов на собеседовании LeetCode : Для отсортированного массива числа удалите дубликаты на месте , чтобы каждый элемент появлялся только один раз и возвращал новую длину. Не выделяйте дополнительное пространство для другого массива, вы должны сделать это, изменив входной массив на..