Публикации по теме '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 нечетное.
То есть подмассив является турбулентным, если знак сравнения меняется между каждой соседней парой элементов в подмассиве.
Возвращает длину..