Kod praktikasını sistemli öyrən.
Sualı oxu, uyğun yanaşmanı seç və həlli Java ilə yaz. Vizual nümunələr və addım-addım izahlarla hər qərarın səbəbini anla.
16mövzu
94praktik sual
Javakod nümunələri
Two Pointers
İki pointer ilə axtarış sahəsini addım-addım daralt.
- Container With Most Waterİki divar seç. Aralarında ən çox su saxlayan cütün sahəsini tap.Orta
- Two Sum (Sorted Array)Sıralı array-in iki ucundan başla. Hər addımda hansı namizədi təhlükəsiz kənarlaşdırdığını anla.Orta
- 3-SumBir ədədi sabitlə, qalan ikisini iki göstərici ilə tap. Təkrar üçlükləri niyə və necə ötürdüyünü gör.Orta
Bütün suallara bax Qalan 4 sual
- Triangle NumbersƏn uzun tərəfi sabit saxla. Bir müqayisə ilə neçə üçbucaq saymağın mümkün olduğunu anla.Orta
- Move ZeroesOxuyan və yazan iki göstərici ilə sıfırları sona apar. Sıfır olmayanların sırasını qorumağı öyrən.Asan
- Sort ColorsArray-i 0, 1, 2 zonalarına ayır. Sondan gələn dəyəri niyə yenidən yoxlamalı olduğunu gör.Orta
- Trapping Rain WaterHər sütunun üstündəki suyu ayrıca hesabla. İki maksimumun niyə su səviyyəsini müəyyən etdiyini gör.Çətin
Sliding Window
Ardıcıl elementləri hər dəfə yenidən hesablamadan emal et.
- Maximum Sum of Subarray of Size KTam ədədlər array-i və k verilib.Asan
- Max Points You Can Obtain from CardsCardPoints array-indən dəqiq k kart seç.Orta
- Max Sum of Distinct Subarrays With Length KTam ədədlər array-i və k verilib.Orta
Bütün suallara bax Qalan 2 sual
- Longest Substring Without Repeating CharactersString daxilində təkrarlanan simvolu olmayan ən uzun substring-in uzunluğunu qaytar.Orta
- Longest Repeating Character ReplacementBöyük ingilis hərflərindən ibarət string-də ən çox k simvolu dəyişərək eyni hərfdən ibarət edilə bilən ən uzun substring-in uzunluğunu qaytar.Orta
Binary Search
Hər addımda axtarış sahəsinin yarısını kənarlaşdır.
- Sıralı array-də target tapTarget-in indeksini O(log n) vaxtda qaytar.Asan
- Apple Harvest (Koko Eating Bananas)Sürəti artırmaq işi gecikdirə bilməz. Deməli, sürətlər iki hissəyə ayrılır: çatdırmayanlar və çatdıranlar. İlk çatdıran sürəti binary search ilə tapa bilərik.Orta
- Search in Rotated Sorted ArrayOrta nöqtənin solunda və ya sağında ən azı bir hissə mütləq sıralıdır. Əvvəl sıralı hissəni tanı, sonra target-in onun sərhədləri arasında olub-olmadığını yoxla.Orta
Bütün suallara bax Qalan 3 sual
- Split Array Largest SumCavabı təxmin et: heç bir hissə limit-dən böyük olmasın. Soldan elementləri yığ; növbəti ədəd həddi aşırsa yeni hissə aç. Mənfi ədəd olmadığı üçün hissəni mümkün qədər uzatmaq lazım olan hissə sayını minimum edir.Çətin
- Kth Smallest Element in a Sorted Matrixİndekslərdə deyil, mümkün dəyərlərdə binary search aparırıq. mid-dən kiçik və ya ona bərabər neçə element var? Say k-ya çatırsa cavab mid-dən böyük ola bilməz.Orta
- Minimum Shipping CapacityTutum sabit olduqda mümkün qədər çox ardıcıl paketi həmin günə yerləşdir. Beləliklə neçə gün lazım olduğunu hesablamaq asanlaşır. Böyük tutum tələb olunan gün sayını artıra bilməz.Orta
Intervals
Zaman aralıqları və üst-üstə düşən intervallarla işlə.
- Can Attend MeetingsBir şəxsin görüşləri [start, end] intervalları kimi verilir.Asan
- Insert IntervalStart-a görə sıralanmış və bir-biri ilə kəsişməyən intervallar siyahısına newInterval əlavə et.Orta
- Non-Overlapping IntervalsVerilən intervallar arasından minimum sayda interval sil ki, qalan intervallar üst-üstə düşməsin.Orta
Stack
Son daxil olan elementdən başlayan problemləri tanı.
- Valid ParenthesesYalnız (), [] və {} simvollarından ibarət string-in düzgün mötərizə ardıcıllığı olub-olmadığını tap.Asan
- Decode Stringk[encoded] formatındakı string-i decode et; mötərizə daxilindəki hissə k dəfə təkrarlanır və ifadələr iç-içə ola bilər.Orta
- Longest Valid ParenthesesYalnız ( və ) simvollarından ibarət string-də düzgün mötərizələrdən yaranan ən uzun ardıcıl substring-in uzunluğunu tap.Çətin
Linked List
Node və reference-lərlə düşünməyi öyrən.
- Linked List CycleSingly linked list-də hər hansı node-un next reference-i əvvəlki node-lardan birinə qayıdırsa cycle var.Asan
- Palindrome Linked ListSingly linked list-də dəyərlərin soldan sağa və sağdan sola eyni olub-olmadığını O(1) əlavə yaddaşla tap.Orta
- Remove Nth Node From End of ListSingly linked list-in sonundan n-ci node-unu bir keçidlə sil və head-i qaytar.Orta
Heap
Prioritetli elementləri səmərəli seç.
Depth-First Search
Tree və graph daxilində dərinliyə doğru irəlilə.
- Diameter of a Binary TreeBinary tree-də istənilən iki node arasındakı ən uzun yolun edge sayını tap.Asan
- Maximum Depth of Binary TreeHər düyün eyni sualı iki uşağına verir: səndən aşağı ən uzun yol neçə düyündür? Cavablardan böyüyünü seçib özünü də sayır.Asan
- Path SumHər düyündə onun dəyərini qalan məbləğdən çıx. Yarpağa çatanda qalıq sıfırdırsa uyğun yolu tapmısan.Asan
Bütün suallara bax Qalan 10 sual
- Validate Binary Search TreeTəkcə valideynlə müqayisə çatmır. Düyün bütün əcdadlarının qoyduğu açıq intervala sığmalıdır. Sol uşağa gedəndə yuxarı həddi, sağ uşağa gedəndə aşağı həddi daraldırıq.Orta
- Calculate TiltBir DFS iki işi görür: valideynə alt ağacın cəmini qaytarır, ümumi cavaba isə cari düyünün meylini əlavə edir. Bu iki ədədi ayrı saxla.Asan
- Path Sum IICari yolu bir siyahıda saxla. Düyünə daxil olanda əlavə et, çıxanda sil. Uyğun yarpaqda siyahının surətini nəticəyə qoy; canlı siyahını saxlama.Orta
- Longest Univalue PathDüyün valideynə yalnız bir istiqamətli zəncir verə bilər. Amma ümumi cavab cari düyündə sol və sağ zəncirləri birləşdirə bilər.Orta
- Copy Graphİlkin düyün → yeni düyün xəritəsi qur. Düyünün surətini onun qonşularına keçməzdən əvvəl xəritəyə yaz. Beləliklə dövr eyni düyünə qayıdanda mövcud surəti tapır.Asan
- Graph Valid TreeƏlaqəli istiqamətsiz qrafda n − 1 kənar olması ağac olmaq üçün kifayətdir. Əvvəl kənar sayını, sonra bir başlanğıcdan bütün düyünlərə çatmağı yoxla.Orta
- Flood FillBaşlanğıc rəngi yadda saxla. Yalnız bu rəngdə olan qonşulara get və hüceyrəni daxil olan kimi boya. Yeni rəng həm nəticə, həm də görülüb işarəsi rolunu oynayır.Asan
- Number of IslandsHər görünməmiş quru hüceyrəsi yeni ada deməkdir. Sayı bir artır və həmin adanın bütün hüceyrələrini DFS ilə işarələ. Sonrakı skanda həmin adanı yenidən sayma.Orta
- Surrounded RegionsTutulan sahələri ayrı-ayrı sübut etməkdənsə xilas olanları tap. Sərhəddəki 1-lərdən başlayıb çata bildiyin bütün 1-ləri müvəqqəti 2 ilə işarələ.Orta
- Pacific Atlantic Water FlowHər hüceyrədən ayrıca su axıtmaq baha başa gəlir. Axtarışı tərsinə qur: okeandan içəri gedəndə yalnız eyni və ya daha hündür qonşuya keç. Hər iki axtarışın gördüyü hüceyrələr cavabdır.Orta
Breadth-First Search
Səviyyələri və ən qısa addım yollarını araşdır.
- Rightmost NodeBinary tree-nin hər səviyyəsində sağdan görünən son node-un dəyərini qaytar.Orta
- Zigzag Level OrderBinary tree-ni səviyyə-səviyyə gəz.Orta
- 01 Matrix — ən yaxın sıfır0 və 1-lərdən ibarət düzbucaqlı matrix-də hər xana üçün ən yaxın 0-a məsafəni qaytar.Orta
Bütün suallara bax Qalan 5 sual
- Bus Routesroutes[i] i-ci avtobusun dövr etdiyi dayanacaqlardır.Çətin
- Level Order SumBFS növbəsi bir səviyyənin düyünlərini ardıcıl saxlayır. Səviyyə başlamazdan əvvəl növbənin ölçüsünü götür və yalnız o qədər düyün çıxar. Yeni uşaqlar növbəti səviyyəyə aiddir.Asan
- Maximum Width of Binary TreeAğacı tam ağac kimi nömrələ: i mövqeyinin sol uşağı 2i, sağı 2i + 1. Səviyyənin eni son − ilk + 1 olur. Böyük indeks yığılmasın deyə hər səviyyədə ilk indeksi hamısından çıx.Orta
- Minimum Knight MovesHər gedişin qiyməti birdir. BFS əvvəl 1 gedişlə, sonra 2 gedişlə çatan bütün mövqeləri araşdırır. Hədəfi ilk dəfə görəndə həmin məsafə minimumdur.Orta
- Rotting OrangesBütün ilkin çürük meyvələri eyni növbəyə qoy: onlar eyni anda yayılır. Bir BFS səviyyəsi bir dəqiqəyə bərabərdir.Orta
Backtracking
Seç, yoxla və lazım olduqda geri qayıt.
- SubsetsUnikal tam ədədlər array-indən bütün mümkün subset-ləri qaytar.Orta
- Combination SumFərqli müsbət candidates ədədlərindən cəmi target olan bütün unikal kombinasiyaları qaytar.Orta
- Word SearchDüzbucaqlı hərf matrix-ində word sözünü yanaşı xanalarla qurmağın mümkün olub-olmadığını tap.Orta
Bütün suallara bax Qalan 3 sual
- Palindrome PartitioningKiçik ingilis hərflərindən ibarət string-i hər hissəsi palindrome olan bütün mümkün bölünmələrə ayır.Orta
- N-Queensn × n şahmat taxtasında n vəziri bir-birini vurmadan yerləşdirən bütün düzülüşləri qaytar.Çətin
- Generate ParenthesesBütün 2^(2n) sətirləri yaradıb yoxlama. Yalnız hələ düzgün ola bilən prefiksləri böyüt: açılan sayı n-dən azdırsa “(”, bağlanan sayı açılanlardan azdırsa “)” əlavə et.Orta
Graphs
Əlaqələri, asılılıqları və marşrutları modelləşdir.
- Course Schedule0-dan numCourses - 1-ə qədər kurslar verilib.Orta
- Course Schedule IIKursları bütün prerequisite-lərə uyğun bitirmək üçün sıra qaytar.Orta
- Network Delay Time1-dən n-ə qədər serverlər arasında [from,to,latency] yönlü bağlantılar verilib.Orta
Bütün suallara bax Qalan 3 sual
- Cheapest Flights Within K Stopsn şəhər və [from,to,price] uçuşları verilib.Orta
- Find City with Fewest ReachableMüsbət çəkili undirected graph-da distanceThreshold daxilində ən az digər şəhərə çatan şəhəri tap.Orta
- Path With Minimum EffortHündürlüklər matrix-ində sol yuxarıdan sağ aşağıya dörd istiqamətlə get.Orta
Dynamic Programming
Təkrarlanan alt problemlərin nəticələrini paylaş.
- DP ilə sual həlli — House RobberMənfi olmayan dəyərlərdən ibarət array-də qonşu elementləri birlikdə seçmədən əldə edilən maksimum cəmi tap.Orta
- Counting BitsMənfi olmayan n üçün 0-dan n-ə qədər hər ədədin binary yazılışında olan 1 bitlərinin sayını array olaraq qaytar.Asan
- Decode WaysYalnız rəqəmlərdən ibarət string-i 1 → A, …, 26 → Z xəritəsi ilə neçə cür decode etmək olar? 0 təkbaşına kod deyil.Orta
Bütün suallara bax Qalan 8 sual
- Longest Increasing SubsequenceArray daxilində strict artan ən uzun subsequence-in uzunluğunu tap.Orta
- Word BreakString-i wordDict-dəki sözlərdən ibarət ardıcıllığa ayırmağın mümkün olub-olmadığını tap.Orta
- Unique Pathsm × n grid-də sol yuxarıdan sağ aşağıya yalnız sağa və aşağı hərəkətlə neçə fərqli yol var? Ölçülər müsbətdir və cavab long aralığına sığır.Orta
- Maximal Square0 və 1-lərdən ibarət düzbucaqlı int matrix-də yalnız 1-lərdən ibarət ən böyük kvadratın sahəsini qaytar.Orta
- Paint HouseSıradakı evləri üç rəngdən biri ilə boya.Orta
- Paint House IIPaint House problemini k rəng üçün həll et.Çətin
- Maximum Profit in Job SchedulingEyni uzunluqlu startTime, endTime və profit array-ləri işləri təsvir edir.Çətin
- Minimum Window Subsequences1 daxilində s2-ni subsequence kimi saxlayan ən qısa substring-i qaytar.Çətin
Greedy Algorithms
Lokal seçimin nə vaxt düzgün nəticə verdiyini anla.
- Jump Gamenums[i] i indeksindən maksimum sıçrayış uzunluğudur.Orta
- Jump Game IIMənfi olmayan sıçrayış uzunluqları array-ində ilk indeksdən sonuncuya minimum sıçrayış sayını tap.Orta
- Gas StationDairəvi yolda gas[i] alınan yanacaq, cost[i] növbəti stansiyaya sərf olunan yanacaqdır.Orta
Bütün suallara bax Qalan 2 sual
- Partition LabelsKiçik ingilis hərflərindən ibarət string-i maksimum sayda hissəyə böl ki, hər hərf yalnız bir hissədə görünsün.Orta
- Best Time to Buy and Sell StockHər satış günündə ən sərfəli alış yalnız əvvəlki günlərin minimumudur. Keçmişin bütün qiymətlərini saxlamaq əvəzinə həmin minimumu saxla.Asan
Trie
Prefix əsaslı axtarışları ağacla sürətləndir.
- Implement Trie MethodsHər düyün bir prefiksi göstərir, end bayrağı isə həmin prefiksin ayrıca söz olduğunu bildirir. Sözü siləndə başqa sözün yolunu kəsməmək üçün budağı yalnız boş və end olmayan halda təmizlə.Orta
- Prefix MatchingTrie-də prefiksin son düyününə get. Sonra yalnız həmin düyünün alt ağacını DFS et. end olan hər düyündə qurduğun sözü cavaba əlavə et.Orta
Prefix Sum
Aralıq cəmlərini əvvəlcədən hazırlanmış nəticələrlə tap.
Matrices
İkiölçülü məlumatda istiqamət və sərhədləri idarə et.
- Rotate ImageKvadrat n × n matrix-i yerində, saat istiqamətində 90° döndər.Orta
- Spiral Matrixm × n düzbucaqlı matrix-in elementlərini sol yuxarıdan başlayıb saat istiqamətində spiral sıra ilə qaytar.Orta
- Set Matrix Zeroesİlk sətir və sütunu işarə lövhəsi kimi istifadə et. Daxildə sıfır görsən matrix[r][0] və matrix[0][c]-ni sıfır et. İlk sətir və sütunun öz ilkin vəziyyətini ayrıca iki bayraqla saxla.Orta