Публикации по теме 'leetcode'


LeetCode #622 Проектирование циклической очереди
Середина Проблема Разработайте свою реализацию циклической очереди. Круговая очередь представляет собой линейную структуру данных, в которой операции выполняются по принципу FIFO (First In First Out), а последняя позиция снова соединяется с первой позицией, образуя круг. Его также называют «кольцевым буфером». Одним из преимуществ циклической очереди является то, что мы можем использовать пространство перед очередью. В обычной очереди, когда очередь заполняется, мы не можем вставить..

Литкод#382. Случайный узел связанного списка
Учитывая односвязный список, вернуть значение случайного узла из связанного списка. Каждый узел должен иметь одинаковую вероятность быть выбранным. Реализуйте класс Solution : Solution(ListNode head) Инициализирует объект целочисленным массивом nums. int getRandom() Случайным образом выбирает узел из списка и возвращает его значение. Все узлы списка должны быть выбраны с равной вероятностью. Пример 1: Input ["Solution", "getRandom", "getRandom", "getRandom",..

Алгоритм - LRU
В информатике существует множество алгоритмов кэширования для оптимизации кеширования информации, хранящейся на компьютере. Обычно емкость кэша, выделенного на компьютере, ограничена, и компьютеру необходимо обновить кэш или удалить кэш, если кэш заполнен. Существует множество распространенных алгоритмов оптимизации кеша на компьютере, например: FIFO (Первый пришел - первый ушел) , LFU (Наименее часто используемый) , LRU (Наименее использованный в последнее время) . Сегодня мы..

Решение еженедельного конкурса Leetcode с помощью ChatGPT
Насколько хорошо это работает? Для этого эксперимента я буду давать подсказки ChatGPT на основе вопросов Leetcode, заданных в Еженедельном конкурсе 321 (который был выбран случайным образом). Я прочитаю условия задачи на Leetcode и представлю их ChatGPT. Для каждой проблемы будет запущена новая ветка обсуждения, чтобы избежать помех от предыдущих проблем. Если сгенерированный код не работает, я повторю попытку и изменю подсказку, чтобы получить лучшие результаты. Цель этого..

Допустимые круглые скобки | Leetcode # 20 | Легкий
В этом посте я расскажу о решении проблемы с leetcode - Допустимые круглые скобки . Проблема: Учитывая строку s , содержащую только символы '(' , ')' , '{' , '}' , '[' и ']' , определите, является ли входная строка допустимой. Строка ввода допустима, если: Открытые скобки должны закрываться скобками того же типа. Открытые скобки должны быть закрыты в правильном порядке. Пример 1: Input : s = "()" Output : true Пример 2: Input : s = "()[]{}" Output : true..

Миф LeetCode: вам не нужно решать более 1000 вопросов, чтобы работать в Google, Microsoft или Amazon
В сообществе подготовки к собеседованию бытует мнение, что вам нужно решить безбожное количество вопросов LeetCode, чтобы стать инженером-программистом. Позвольте мне развенчать этот миф для вас и объяснить, на чем вы действительно должны сосредоточиться вместо этого. Мой быстрый фон Я работаю в Microsoft в течение 1 года в качестве инженера-программиста, ранее в течение 1 года работал в Amazon и скоро присоединюсь к Google. У меня был опыт проведения интервью со стартапами,..

Самый длинный турбулентный подмассив
Постановка проблемы: Подмассив A[i], A[i+1], ..., A[j] массива A называется турбулентным тогда и только тогда, когда: Для i <= k < j , A[k] > A[k+1] , когда k нечетное, и A[k] < A[k+1] , когда k четное; ИЛИ , для i <= k < j , A[k] > A[k+1] , если k четное, и A[k] < A[k+1] , если k нечетное. То есть подмассив является турбулентным, если знак сравнения меняется между каждой соседней парой элементов в подмассиве. Возвращает длину..