Свързани публикации 'leetcode'
Leetcode #06: „Обединяване на два сортирани списъка“
Свързаните списъци са основна структура от данни в компютърните науки, която се използва за съхраняване и манипулиране на колекции от данни. Те са полезни, когато размерът на колекцията не е известен предварително или когато се изисква динамично разпределение на паметта.
В тази статия ще проучим решение на проблема с Leetcode за сливане на два сортирани свързани списъка в Python. Ще обясним изложението на проблема, ще предоставим алгоритмично решение и ще включим Python код с коментари...
Динамично програмиране в JavaScript
Динамичното програмиране е техника, използвана в компютърните науки за ефективно решаване на сложни проблеми чрез разделянето им на по-малки подпроблеми и съхраняване на решенията в таблица или матрица. В това ръководство ще изследваме задълбочено динамичното програмиране, обсъждайки неговите принципи, общи техники и приложения в JavaScript.
Принципи на динамичното програмиране
Динамичното програмиране се основава на два принципа: оптимална подструктура и припокриващи се..
LeetCode #752 Отворете ключалката
Среден
проблем
Имате ключалка пред вас с 4 кръгли колела. Всяко колело има 10 слота: '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' . Колелата могат да се въртят свободно и да се увиват: например можем да превърнем '9' в '0' или '0' в '9' . Всяко движение се състои от завъртане на едно колело на един слот.
Заключването първоначално започва от '0000' , низ, представляващ състоянието на 4-те колела.
Даден ви е списък от deadends задънени улици, което означава, че ако..
3Sum Cont…
Въпрос: Даден е масив nums от n цели числа, има ли елементи a , b , c в nums така че a + b + c = 0? Намерете всички уникални тройки в масива, който дава сумата нула.
Забележка:
Наборът от решения не трябва да съдържа дублиращи се триплети.
Пример:
Given array nums = [-1, 0, 1, 2, -1, -4],
A solution set is:
[
[-1, 0, 1],
[-1, -1, 2]
]
Можете да видите пълния въпрос тук .
Подход 2: След ̶a̶ ̶f̶e̶w̶ много, много безполезни опити, най-накрая реших да го..
Прекъсване на пътя в двоична матрица с най-много едно обръщане
Планирам да напиша поредица от публикации в блогове с решения за някои проблеми с leetcode. Планирам да участвам в двуседмични контексти и да избирам най-интересните проблеми от там. Днес ще реша задача 2556 от двуседмичен контекст 97 . Това беше четвъртият проблем в този контекст, така че се предполага, че е най-трудният. Да преминем към дефинирането на проблема.
Прекъсване на пътя в двоична матрица с най-много едно обръщане.
Дадена ви е 0-индексирана m x n двоична матрица..
LeetCode 104- Максимална дълбочина на двоично дърво
„Въпрос“:
Като се има предвид root на двоично дърво, върнете максималната му дълбочина .
Максималната дълбочина на едно двоично дърво е броят на възлите по най-дългия път от основния възел надолу до най-отдалечения листов възел.
Пример 1:
Input: root = [3,9,20,null,null,15,7]
Output: 3
Решение:
В дадената задача трябва да намерим максималната дълбочина на двоичното дърво, което означава, че трябва да намерим височината на дървото.
Височината на дървото е..
Решаване на проблеми с матрици/графи на LeetCode с помощта на Python
787. Най-евтините полети в рамките на K спирки
Има n града, свързани с m полета. Всяка битка започва от град u и пристига в v с цена w .
Сега предвид всички градове и битки, заедно с началния град src и дестинацията dst , вашата задача е да намерите най-евтината цена от src до dst с до k спирки. Ако няма такъв маршрут, изведете -1 .
Example 1:
Input:
n = 3, edges = [[0,1,100],[1,2,100],[0,2,500]]
src = 0, dst = 2, k = 1
Output: 200
Explanation:
The..