មេរៀនរងទី 1Heap និង Priority Queue៖ streaming medians, k-smallest/largest, merge-k-sorted lists/arraysគ្រប់គ្រង heap និង priority queue សម្រាប់តាមដាន�ាតុខ្លាំងបំផុតក្នុងសម្លេង។ អ្នកនឹងអនុវត្ត min-heap និង max-heap ដោះស្រាយបញ្ហា k-smallest និង k-largest និងរួមបញ្ចូលបញ្ជី ឬអារេសរសេរតាមលំដាប់ច្រើន។
ប្រតិបត្តិការ Min-heap និង Max-heapStreaming median ជាមួយ heap ពីររក k-smallest និង k-largestរួមបញ្ចូល k បញ្ជី ឬអារេសរសេរតាមលំដាប់Custom comparators និង tie-breakingHeap pitfalls និងការចំណាយប្រសិទ្ធភាពមេរៀនរងទី 2ការស្វែងរកថ្នាំ Binary៖ ស្វែងរកលើ indices, answer space, និង monotonic functions; lower/upper bound variantsរៀនរបៀបដែលការស្វែងរកថ្នាំ binary ពង្រីកលើសិនឹយអារេ ទៅស្វែងរកជួរណូវិញ្ញាណ ទំហំចម្លើយ និង predicates monotonic។ អ្នកនឹងអនុវត្ត lower និង upper bound variants និងរៀនជៀសវាង pitfalls off-by-one ទូទៅ។
ការស្វែងរកថ្នាំ Binary លើអារេសរសេរតាមលំដាប់ការស្វែងរកថ្នាំ Binary លើជួរណូវិញ្ញាណការស្វែងរកថ្នាំ Binary លើទំហំចម្លើយការស្វែងរកថ្នាំ Binary លើ predicates monotonicLower និង upper bound variantsCommon off-by-one pitfallsមេរៀនរងទី 3Dynamic Programming៖ overlapping subproblems, memoization vs tabulation, state design និង transitionsយល់ដឹងពី dynamic programming ជាការត្រឡប់ recursions ដែលបាន optimize លើ overlapping subproblems។ អ្នកនឹងរចនា states, transitions, និង base cases, ប្រៀបធៀប memoization ជាមួយ tabulation, និងអនុវត្ត 1D និង 2D DP patterns សម្រាប់សម្ភាសន៍។
ការទទួលស្គាល់ overlapping subproblemsការកំណត់ DP state និង dimensionsការរចនា transitions និង base casesTop-down memoization patternsBottom-up tabulation patternsSpace optimization និង rolling arraysមេរៀនរងទី 4Recursion និង Backtracking៖ tree/graph traversal, combinatorial generation, constraint satisfactionអភិវឌ្ឍជំនាញ recursion និង backtracking សម្រាប់ tree និង graph traversals, combinatorial generation, និង constraint satisfaction។ អ្នកនឹងរៀន behavior call stack, pruning strategies, និងរបៀបរចនា templates ដែលប្រើឡើងវិញបាន។
ការយល់ដឹងពី call stackTree និង graph recursive traversalsការបង្កើត permutations និង combinationsSubset និង partition backtrackingConstraint satisfaction ជាមួយ pruningការជៀសវាង exponential blowupsមេរៀនរងទី 5Sliding Window៖ fixed និង variable window use cases សម្រាប់ subarray/subsequence sums និង substring problemsស្វែងយល់ពីបច្ចេកទេស sliding window សម្រាប់ fixed និង variable window sizes លើអារេ និង strings។ អ្នកនឹងដោះស្រាយ subarray sum, substring, និង subsequence problems ខណៈពេលតាមដាន counts, frequencies, និង constraints ដោយប្រសិទ្ធភាព។
Fixed-size window សម្រាប់ subarray sumsVariable window ជាមួយ growing និង shrinkingការតាមដាន counts និង frequenciesការគ្រប់គ្រង constraints និង validity checksTypical substring interview patternsពេលណា sliding window បរាជ័យ ឬ misusedមេរៀនរងទី 6Fast/Slow Pointers៖ cycle detection, middle-finding ក្នុង linked lists, និង tortoise-hare applicationsសិក្សា fast និង slow pointer patterns លើ linked lists និង sequences។ អ្នកនឹងរកឃើញ cycles, រកកន្លែងចាប់ផ្តើម cycle, រក middle nodes, និង adapt tortoise-hare idea ទៅរចនាសម្ព័ន្ធ និង scenarios សម្ភាសន៍ផ្សេងៗ។
Cycle detection ក្នុង linked listsការរក cycle entry nodeការរក middle នៃ linked listLength និង structure នៃ cyclesTortoise-hare ក្នុង array problemsEdge cases និង pointer safetyមេរៀនរងទី 7Hashing និង Sets/Maps៖ frequency counting, sliding-window optimization, deduplication និង lookupsប្រើ hashing, sets, និង maps សម្រាប់ lookups ពេលថេរ, deduplication, និង frequency counting។ អ្នកនឹង optimize sliding windows, រកឃើញ anagrams, និងរចនា hash-based solutions ដែលរឹងមាំ ខណៈពេលជៀសវាង collision pitfalls។
Hash tables, sets, និង maps basicsFrequency counting patternsMembership និង existence checksHash-based sliding window tricksDeduplication និង uniqueness testsCollision issues និង robustnessមេរៀនរងទី 8Greedy Algorithms៖ local-choice justification, interval scheduling, Huffman-like selectionsរៀនរចនា និងហេតុផល greedy algorithms ដែលធ្វើការជ្រើសរើស locally optimal។ អ្នកនឹងដោះស្រាយ interval scheduling, activity selection, និង Huffman-like constructions ខណៈពេលបញ្ជាក់ correctness ឬរក counterexamples។
ការទទួលស្គាល់ greedy-friendly problemsExchange arguments និង proofsInterval scheduling និង activity selectionការជ្រើសរើស minimal points ឬ resourcesHuffman-like selection strategiesCounterexamples ទៅ naive greedy ideasមេរៀនរងទី 9BFS និង DFS លើ Trees និង Graphs៖ level-order problems, shortest path ក្នុង unweighted graphs, topological explorationអនុវត្ត BFS និង DFS ជាប្រព័ន្ធ លើ trees និង graphs។ អ្នកនឹងដោះស្រាយ level-order និង shortest path problems ក្នុង unweighted graphs, ធ្វើ topological exploration, និងគ្រប់គ្រង visited tracking និង adjacency representations។
Tree traversals ជាមួយ DFS និង BFSGraph representations និង adjacencyVisited sets និង cycle handlingLevel-order និង layering problemsShortest path ក្នុង unweighted graphsTopological ordering និង DAG checksមេរៀនរងទី 10Two Pointers៖ sorted-array pairing, in-place reversal, partitioning, និង deduplication techniquesប្រើ two-pointer techniques លើអារេ និង strings សម្រាប់ pairing, partitioning, និង in-place updates។ អ្នកនឹងអនុវត្ត sorted pair sums, Dutch flag style partitioning, deduplication, និង efficient reversal ដោយគ្មាន extra memory។
Opposite-end pointers លើ sorted arraysSame-direction scanning pointersIn-place reversal នៃ arrays និង listsPartitioning និង Dutch flag patternDeduplication និង compression in placeTwo pointers បើកណ្តាល sliding window