GithubHelp home page GithubHelp logo

sudhirsaxena / leetcode-solutions Goto Github PK

View Code? Open in Web Editor NEW

This project forked from kamyu104/leetcode-solutions

0.0 0.0 0.0 19.35 MB

๐Ÿ‹๏ธ Python / Modern C++ Solutions of All 2742 LeetCode Problems (Weekly Update)

License: MIT License

Shell 0.01% Ruby 0.01% C++ 53.99% Python 45.36% PHP 0.01% Java 0.15% Go 0.05% C# 0.01% Rust 0.01% Kotlin 0.01% TypeScript 0.40% Swift 0.01%

leetcode-solutions's Introduction

Languageย  Licenseย  Updateย  Progressย  SayThanksย  Visitors

  • R.I.P. to my old Leetcode repository, where there were 5.7k+ stars and 2.2k+ forks (ever the top 3 in the field).
  • Since free questions may be even mistakenly taken down by some companies, only solutions will be post on now.
  • There are new LeetCode questions every week. I'll keep updating for full summary and better solutions.
  • For more problem solutions, you can see my LintCode, GoogleKickStart, GoogleCodeJamIO repositories.
  • For more challenging problem solutions, you can also see my GoogleCodeJam, MetaHackerCup repositories.
  • Hope you enjoy the journey of learning data structures and algorithms.
  • Notes: "๐Ÿ”’" means your subscription of LeetCode premium membership is required for reading the question.

Solutions

Algorithms

JavaScript

Database

Reference

Bit Manipulation

# Title Solution Time Space Difficulty Tag Note
2151 Maximum Good People Based on Statements C++ Python O(n^2 * 2^n) O(1) Hard Bitmasks, Brute Force
2212 Maximum Points in an Archery Competition C++ Python O(n * 2^n) O(n) Medium Bitmasks, Brute Force
2220 Minimum Bit Flips to Convert Number C++ Python O(logn) O(1) Easy Bit Manipulation
2275 Largest Combination With Bitwise AND Greater Than Zero C++ Python O(nlogr) O(logr) Medium Bit Manipulation, Freq Table
2317 Maximum XOR After Operations C++ Python O(n) O(1) Medium Bit Manipulation, Greedy
2397 Maximum Rows Covered by Columns C++ Python O(m * n + m * C(n, k)) O(m) Medium Bitmasks, Hakmem Item 175
2411 Smallest Subarrays With Maximum Bitwise OR C++ Python O(n) O(1) Medium Bitmasks, Hash Table
2419 Longest Subarray With Maximum Bitwise AND C++ Python O(n) O(1) Medium Bit Manipulation
2425 Bitwise XOR of All Pairings C++ Python O(n) O(1) Medium Bit Manipulation
2429 Minimize XOR C++ Python O(logn) O(1) Medium Bit Manipulation, Greedy
2505 Bitwise OR of All Subsequence Sums C++ Python O(n) O(1) Medium ๐Ÿ”’ Bit Manipulation
2527 Find Xor-Beauty of Array C++ Python O(n) O(1) Medium Bit Manipulation, Math
2595 Number of Even and Odd Bits C++ Python O(1) O(1) Easy Bit Manipulation


Array

# Title Solution Time Space Difficulty Tag Note
2007 Find Original Array From Doubled Array C++ Python O(n + klogk) O(k) Medium variant of Array of Doubled Pairs
2011 Final Value of Variable After Performing Operations C++ Python O(n) O(1) Easy
2012 Sum of Beauty in the Array C++ Python O(n) O(n) Medium Prefix Sum
2016 Maximum Difference Between Increasing Elements C++ Python O(n) O(1) Easy variant of Best Time to Buy and Sell Stock
2017 Grid Game C++ Python O(n) O(1) Medium Prefix Sum
2018 Check if Word Can Be Placed In Crossword C++ Python O(m * n) O(1) Medium
2022 Convert 1D Array Into 2D Array C++ Python O(m * n) O(1) Easy
2033 Minimum Operations to Make a Uni-Value Grid C++ Python O(m * n) on average O(m * n) Medium variant of Minimum Moves to Equal Array Elements II Math, Median, Quick Select
2035 Partition Array Into Two Arrays to Minimize Sum Difference C++ Python O(n * 2^n) O(2^n) Hard Meet in the Middle
2038 Remove Colored Pieces if Both Neighbors are the Same Color C++ Python O(n) O(1) Medium
2055 Plates Between Candles C++ Python O(n + q) O(n) Medium Prefix Sum
2057 Smallest Index With Equal Value C++ Python O(n) O(1) Easy
2075 Decode the Slanted Ciphertext C++ Python O(n) O(1) Medium
2078 Two Furthest Houses With Different Colors C++ Python O(n) O(1) Easy
2079 Watering Plants C++ Python O(n) O(1) Medium
2098 Subsequence of Size K With the Largest Even Sum C++ Python O(n) on average O(1) Medium ๐Ÿ”’ Quick Select
2099 Find Subsequence of Length K With the Largest Sum C++ Python O(n) on average O(n) Easy Quick Select
2100 Find Good Days to Rob the Bank C++ Python O(n) O(n) Medium Prefix Sum
2106 Maximum Fruits Harvested After at Most K Steps C++ Python O(n) O(n) Hard Prefix Sum
2113 Elements in Array After Removing and Replacing Elements C++ Python O(n) O(1) Medium ๐Ÿ”’
2121 Intervals Between Identical Elements C++ Python O(n) O(n) Medium Prefix Sum
2122 Recover the Original Array C++ Python O(n^2) O(n) Hard
2128 Remove All Ones With Row and Column Flips C++ Python O(m * n) O(1) Medium ๐Ÿ”’
2132 Stamping the Grid C++ Python O(m * n) O(m * n) Hard Prefix Sum
2155 All Divisions With the Highest Score of a Binary Array C++ Python O(n) O(1) Medium Prefix Sum
2194 Cells in a Range on an Excel Sheet C++ Python O(26^2) O(1) Easy
2210 Count Hills and Valleys in an Array C++ Python O(n) O(1) Easy Simulation
2219 Maximum Sum Score of Array C++ Python O(n) O(1) Medium ๐Ÿ”’ Prefix Sum
2237 Count Positions on Street With Required Brightness C++ Python O(n + l) O(min(n, l)) Medium ๐Ÿ”’ Line Sweep
2239 Find Closest Number to Zero C++ Python O(n) O(1) Easy Array
2245 Maximum Trailing Zeros in a Cornered Path C++ Python O(m * n) O(m * n) Medium Prefix Sum
2256 Minimum Average Difference C++ Python O(n) O(1) Medium Prefix Sum
2270 Number of Ways to Split Array C++ Python O(n) O(1) Medium Prefix Sum
2271 Maximum White Tiles Covered by a Carpet C++ Python O(nlogn) O(1) Medium Sliding Window, Prefix Sum, Binary Search
2274 Maximum Consecutive Floors Without Special Floors C++ Python O(nlogn) O(1) Medium Sort
2293 Min Max Game C++ Python O(n) O(1) Medium Simulation
2319 Check if Matrix Is X-Matrix C++ Python O(n^2) O(1) Easy Array
2326 Spiral Matrix IV C++ Python O(m * n) O(1) Medium Linked List, Array
2373 Largest Local Values in a Matrix C++ Python O(n^2) O(1) Easy Array
2382 Maximum Segment Sum After Removals C++ Python O(n) O(n) Hard Prefix Sum, Sorted List, BST, Union Find
2391 Minimum Amount of Time to Collect Garbage C++ Python O(n * l) O(1) Medium Prefix Sum, Simulation
2406 Divide Intervals Into Minimum Number of Groups C++ Python O(nlogn) O(n) Medium Sort, Line Sweep
2407 Longest Increasing Subsequence II C++ Python O(nlogn) O(n) Hard variant of Longest Increasing Subsequence Segment Tree, Coordinate Compression
2428 Maximum Sum of an Hourglass C++ Python O(m * n) O(1) Medium Brute Force
2432 The Employee That Worked on the Longest Task C++ Python O(l) O(1) Easy Array
2433 Find The Original Array of Prefix Xor C++ Python O(n) O(1) Medium Array
2438 Range Product Queries of Powers C++ Python O(logn + qlogr) O(logn) Medium Prefix Sum
2446 Determine if Two Events Have Conflict C++ Python O(1) O(1) Easy Array
2460 Apply Operations to an Array C++ Python O(n) O(1) Easy Inplace, Array
2482 Difference Between Ones and Zeros in Row and Column C++ Python O(m * n) O(m + n) Medium Array
2500 Delete Greatest Value in Each Row C++ Python O(m * nlogn) O(1) Easy Array
2515 Shortest Distance to Target String in a Circular Array C++ Python O(n) O(1) Easy Array
2535 Difference Between Element Sum and Digit Sum of an Array C++ Python O(nlogr) O(1) Easy Array
2536 Increment Submatrices by One C++ Python O(q + n^2) O(1) Medium Line Sweep, Difference Matrix, Difference Array
2553 Separate the Digits in an Array C++ Python O(n * logr) O(1) Easy Array
2559 Count Vowel Strings in Ranges C++ Python O(n + q) O(n) Medium Prefix Sum
2569 Handling Sum Queries After Update C++ Python O(nlogn + m + qlogn) O(n) Hard Segment Tree
2574 Left and Right Sum Differences C++ Python O(n) O(1) Easy Prefix Sum
2580 Count Ways to Group Overlapping Ranges C++ Python O(nlogn) O(1) Medium Sort, Array
2639 Find the Width of Columns of a Grid C++ Python O(m * n) O(1) Easy Array
2640 Find the Score of All Prefixes of an Array C++ Python O(n) O(1) Medium Prefix Sum
2643 Row With Maximum Ones C++ Python O(m * n) O(1) Easy Array
2644 Find the Maximum Divisibility Score C++ Python O(n * d) O(1) Easy Brute force
2655 Find Maximal Uncovered Ranges C++ Python O(nlogn) O(n) Medium ๐Ÿ”’, variant of Merge Intervals Sort, Line Sweep
2660 Determine the Winner of a Bowling Game C++ Python O(n) O(1) Medium Array
2672 Number of Adjacent Elements With the Same Color C++ Python O(n + q) O(n) Medium Array
2683 Neighboring Bitwise XOR C++ Python O(n) O(1) Medium Array
2711 Difference of Number of Distinct Values on Diagonals C++ Python O(m * n) O(min(m, n)) Medium Prefix Sum
2717 Semi-Ordered Permutation C++ Python O(n) O(1) Easy Array
2733 Neither Minimum nor Maximum C++ Python O(n) O(1) Easy Array


String

# Title Solution Time Space Difficulty Tag Note
2042 Check if Numbers Are Ascending in a Sentence C++ Python O(n) O(1) Easy
2047 Number of Valid Words in a Sentence C++ Python O(n) O(1) Easy
2048 Next Greater Numerically Balanced Number C++ Python O(1) O(1) Medium Permutations, Precompute, Binary Search
2081 Sum of k-Mirror Numbers C++ Python O(10^6) O(1) Hard String, Palindrome, Brute Force
2103 Rings and Rods C++ Python O(n) O(1) Easy
2108 Find First Palindromic String in the Array C++ Python O(n) O(1) Easy
2109 Adding Spaces to a String C++ Python O(n) O(1) Medium Inplace
2114 Maximum Number of Words Found in Sentences C++ Python O(n) O(1) Easy
2116 Check if a Parentheses String Can Be Valid C++ Python O(n) O(1) Medium
2124 Check if All A's Appears Before All B's C++ Python O(n) O(1) Easy
2129 Capitalize the Title C++ Python O(n) O(1) Easy
2131 Longest Palindrome by Concatenating Two Letter Words C++ Python O(n) O(n) Medium
2135 Count Words Obtained After Adding a Letter C++ Python O(n) O(n) Medium Bitmasks
2138 Divide a String Into Groups of Size k C++ Python O(n) O(1) Easy
2156 Find Substring With Given Hash Value C++ Python O(n) O(1) Medium Rabin-Karp Algorithm, Rolling Hash
2157 Groups of Strings C++ Python O(26 * n) O(26 * n) Hard Bitmasks, Union Find
2168 Unique Substrings With Equal Digit Frequency C++ Python O(n^2) O(n^2) Medium ๐Ÿ”’ Rabin-Karp Algorithm, Rolling Hash
2185 Counting Words With a Given Prefix C++ Python O(n * p) O(1) Easy
2186 Minimum Number of Steps to Make Two Strings Anagram II C++ Python O(n) O(1) Medium variant of Minimum Number of Steps to Make Two Strings Anagram
2211 Count Collisions on a Road C++ Python O(n) O(1) Medium Counting, Simulation
2213 Longest Substring of One Repeating Character C++ Python O(nlogn) O(n) Hard Segment Tree
2223 Sum of Scores of Built Strings C++ Python O(n) O(n) Hard Z-Function
2232 Minimize Result by Adding Parentheses to Expression C++ Python O(n^2) O(1) Medium Brute Force
2243 Calculate Digit Sum of a String C++ Python O(n) O(n) Easy Simulation
2255 Count Prefixes of a Given String C++ Python O(n * l) O(1) Easy String
2264 Largest 3-Same-Digit Number in String C++ Python O(n) O(1) Easy String
2269 Find the K-Beauty of a Number C++ Python O(logn) O(logn) Easy Sliding Window
2272 Substring With Largest Variance C++ Python O(a^2 * n) O(a) Hard Kadane's Algorithm
2273 Find Resultant Array After Removing Anagrams C++ Python O(n * l) O(1) Easy Freq Table, Sort
2278 Percentage of Letter in String C++ Python O(n) O(1) Easy String
2288 Apply Discount to Prices C++ Python O(n) O(1) Medium String
2299 Strong Password Checker II C++ Python O(n) O(1) Easy String
2301 Match Substring After Replacement C++ Python O(n * k) O(m) Hard Brute Force
2315 Count Asterisks C++ Python O(n) O(1) Easy String
2381 Shifting Letters II C++ Python O(n) O(n) Medium Line Sweep
2390 Removing Stars From a String C++ Python O(n) O(n) Medium String, Stack
2414 Length of the Longest Alphabetical Continuous Substring C++ Python O(n) O(1) Medium String
2416 Sum of Prefix Scores of Strings C++ Python O(n * l) O(t) Hard Trie
2490 Circular Sentence C++ Python O(n) O(1) Easy String
2496 Maximum Value of a String in an Array C++ Python O(n * l) O(1) Easy String
2575 Find the Divisibility Array of a String C++ Python O(n) O(1) Medium Prefix Sum
2586 Count the Number of Vowel Strings in Range C++ Python O(n) O(1) Medium String
2678 Number of Senior Citizens C++ Python O(n) O(1) Easy String
2710 Remove Trailing Zeros From a String C++ Python O(n) O(1) Easy String
2729 Check if The Number is Fascinating C++ Python O(logn) O(1) Easy String, Bitmasks


Linked List

# Title Solution Time Space Difficulty Tag Note
2058 Find the Minimum and Maximum Number of Nodes Between Critical Points C++ Python O(n) O(1) Medium
2074 Reverse Nodes in Even Length Groups C++ Python O(n) O(1) Medium
2095 Delete the Middle Node of a Linked List C++ Python O(n) O(1) Medium Two Pointers
2130 Maximum Twin Sum of a Linked List C++ Python O(n) O(1) Medium Two Pointers
2181 Merge Nodes in Between Zeros C++ Python O(n) O(1) Medium Two Pointers
2487 Remove Nodes From Linked List C++ Python O(n) O(n) Medium Mono Stack
2674 Split a Circular Linked List C++ Python O(n) O(1) Medium ๐Ÿ”’ Two Pointers, Slow and Fast Pointers


Stack

# Title Solution Time Space Difficulty Tag Note
2104 Sum of Subarray Ranges C++ Python O(n) O(n) Medium Mono Stack
2197 Replace Non-Coprime Numbers in Array C++ Python O(nlogm) O(1) Hard Stack, Math
2281 Sum of Total Strength of Wizards C++ Python O(n) O(n) Hard variant of Largest Rectangle in Histogram Mono Stack, Prefix Sum
2282 Number of People That Can Be Seen in a Grid C++ Python O(m * n) O(m + n) Medium ๐Ÿ”’, variant of Number of Visible People in a Queue Mono Stack
2334 Subarray With Elements Greater Than Varying Threshold C++ Python O(n) O(n) Hard variant of Maximum Subarray Min-Product Mono Stack
2355 Maximum Number of Books You Can Take C++ Python O(n) O(n) Hard ๐Ÿ”’ Mono Stack, Math
2454 Next Greater Element IV C++ Python O(n) O(n) Hard Mono Stack
2696 Minimum String Length After Removing Substrings C++ Python O(n) O(n) Easy Stack
2735 Collecting Chocolates C++ Python O(n) O(n) Medium Mono Stack, Difference Array, Prefix Sum, Binary Search, Mono Deque, Brute Force
2736 Maximum Sum Queries C++ Python O(nlogn + mlogm + mlogn) O(n + m) Hard Sort, Mono Stack, Binary Search


Queue

# Title Solution Time Space Difficulty Tag Note
2398 Maximum Number of Robots Within Budget C++ Python O(n) O(n) Hard Mono Deque, Sliding Window, Two Pointers


Binary Heap

# Title Solution Time Space Difficulty Tag Note
2054 Two Best Non-Overlapping Events C++ Python O(nlogn) O(n) Medium Line Sweep, Heap
2163 Minimum Difference in Sums After Removal of Elements C++ Python O(nlogn) O(n) Hard Heap, Prefix Sum
2208 Minimum Operations to Halve Array Sum C++ Python O(nlogn) O(n) Medium Heap
2386 Find the K-Sum of an Array C++ Python O(nlogn + klogk) O(n + k) Hard BFS, Heap
2402 Meeting Rooms III C++ Python O(mlogm + n + mlogn) O(n) Hard Heap
2462 Total Cost to Hire K Workers C++ Python O(c + klogc) O(c) Medium Heap, Two Pointers
2519 Count the Number of K-Big Indices C++ Python O(nlogk) O(n) Hard ๐Ÿ”’ Heap, Ordered Set, Sorted List
2530 Maximal Score After Applying K Operations C++ Python O(n + klogn) O(1) Medium Heap, Simulation
2558 Take Gifts From the Richest Pile C++ Python O(n + klogn) O(1) Easy Heap, Simulation


Tree

# Title Solution Time Space Difficulty Tag Note
2003 Smallest Missing Genetic Value in Each Subtree C++ Python O(n) O(n) Hard DFS, Stack
2096 Step-By-Step Directions From a Binary Tree Node to Another C++ Python O(n) O(h) Medium DFS, Stack
2179 Count Good Triplets in an Array C++ Python O(nlogn) O(n) Hard variant of Create Sorted Array through Instructions BIT, Fenwick Tree
2196 Create Binary Tree From Descriptions C++ Python O(n) O(n) Medium
2236 Root Equals Sum of Children C++ Python O(1) O(1) Easy Tree
2277 Closest Node to Path in Tree C++ Python O(n + q) O(n) Hard ๐Ÿ”’ Tree, BFS, Binary Lifting, Tarjan's Offline LCA Algorithm
2421 Number of Good Paths C++ Python O(nlogn) O(n) Hard Sort, Union Find
2509 Cycle Length Queries in a Tree C++ Python O(q * n) O(1) Hard Tree, LCA


Hash Table

# Title Solution Time Space Difficulty Tag Note
2006 Count Number of Pairs With Absolute Difference K C++ Python O(n) O(n) Easy variant of Two Sum
2023 Number of Pairs of Strings With Concatenation Equal to Target C++ Python O(n * l) O(n) Medium variant of Two Sum
2025 Maximum Number of Ways to Partition an Array C++ Python O(n) O(n) Hard Prefix Sum
2032 Two Out of Three C++ Python O(n) O(min(n, r)) Easy Counting
2053 Kth Distinct String in an Array C++ Python O(n) O(n) Easy
2068 Check Whether Two Strings are Almost Equivalent C++ Python O(n) O(1) Easy
2085 Count Common Words With One Occurrence C++ Python O(m + n) O(m + n) Easy
2120 Execution of All Suffix Instructions Staying in a Grid C++ Python O(m) O(m) Medium
2150 Find All Lonely Numbers in the Array C++ Python O(n) O(n) Medium
2154 Keep Multiplying Found Values by Two C++ Python O(n) O(n) Easy
2170 Minimum Operations to Make the Array Alternating C++ Python O(n) O(n) Medium Freq Table
2190 Most Frequent Number Following Key In an Array C++ Python O(n) O(n) Easy Freq Table
2201 Count Artifacts That Can Be Extracted C++ Python O(a + d) O(d) Medium Hash Table
2206 Divide Array Into Equal Pairs C++ Python O(n) O(n) Easy Hash Table
2215 Find the Difference of Two Arrays C++ Python O(n) O(n) Easy Hash Table
2225 Find Players With Zero or One Losses C++ Python O(nlogn) O(n) Medium Hash Table, Sort
2229 Check if an Array Is Consecutive C++ Python O(n) O(n) Easy ๐Ÿ”’ Hash Table, Sort
2260 Minimum Consecutive Cards to Pick Up C++ Python O(n) O(n) Medium Hash Table
2261 K Divisible Elements Subarrays C++ Python O(n^2) O(t) Medium Trie, Rabin-Karp Algorithm
2283 Check if Number Has Equal Digit Count and Digit Value C++ Python O(n) O(1) Easy Freq Table
2284 Sender With Largest Word Count C++ Python O(n * l) O(n) Medium Freq Table
2287 Rearrange Characters to Make Target String C++ Python O(n + m) O(1) Easy Freq Table
2295 Replace Elements in an Array C++ Python O(n + m) O(n) Medium Hash Table
2306 Naming a Company C++ Python O(26 * n * l) O(n * l) Hard Hash Table, Math
2309 Greatest English Letter in Upper and Lower Case C++ Python O(n) O(1) Easy Freq Table, Hash Table
2325 Decode the Message C++ Python O(n + m) O(1) Easy String, Hash Table
2341 Maximum Number of Pairs in Array C++ Python O(n) O(r) Easy Freq Table
2342 Max Sum of a Pair With Equal Sum of Digits C++ Python O(nlogr) O(n) Medium Hash Table, Greedy
2347 Best Poker Hand C++ Python O(1) O(1) Easy Freq Table
2351 First Letter to Appear Twice C++ Python O(n) O(1) Easy String, Hash Table
2352 Equal Row and Column Pairs C++ Python O(n^2) O(n^2) Medium Hash Table
2354 Number of Excellent Pairs C++ Python O(n) O(n) Hard Bit Manipulation, Sort, Two Pointers, Freq Table, Combinatorics
2357 Make Array Zero by Subtracting Equal Amounts C++ Python O(n) O(n) Easy Hash Table
2363 Merge Similar Items C++ Python O((m + n) * log(m + n)) O(m + n) Easy Freq Table, Sort
2364 Count Number of Bad Pairs C++ Python O(n) O(n) Medium variant of Count Nice Pairs in an Array Hash Table
2365 Task Scheduler II C++ Python O(n) O(n) Medium Hash Table
2367 Number of Arithmetic Triplets C++ Python O(n) O(n) Easy Hash Table
2374 Node With Highest Edge Score C++ Python O(n) O(n) Medium Hash Table
2395 Find Subarrays With Equal Sum C++ Python O(n) O(n) Easy Hash Table
2399 Check Distances Between Same Letters C++ Python O(n) O(1) Easy Hash Table
2404 Most Frequent Even Element C++ Python O(n) O(n) Easy Freq Table
2423 Remove Letter To Equalize Frequency C++ Python O(n) O(1) Easy Brute Force, Freq Table
2441 Largest Positive Integer That Exists With Its Negative C++ Python O(n) O(n) Easy Hash Table
2442 Count Number of Distinct Integers After Reverse Operations C++ Python O(nlogr) O(n) Medium Hash Table
2451 Odd String Difference C++ Python O(m * n) O(1) Easy Freq Table
2452 Words Within Two Edits of Dictionary C++ Python O(25 * l * (n + q)) O(25 * l * n) Medium variant of MHC2022 - Round 3 Brute Force, Hash
2453 Destroy Sequential Targets C++ Python O(n) O(s) Medium Freq Table
2456 Most Popular Video Creator C++ Python O(n) O(n) Medium Hash Table
2484 Count Palindromic Subsequences C++ Python O(100 * n) O(100 * n) Hard Freq Table, Prefix Sum, DP
2488 Count Subarrays With Median K C++ Python O(n) O(n) Hard Freq Table, Prefix Sum
2489 Number of Substrings With Fixed Ratio C++ Python O(n) O(n) Medium ๐Ÿ”’ Freq Table, Prefix Sum
2491 Divide Players Into Teams of Equal Skill C++ Python O(n) O(n) Medium Freq Table
2501 Longest Square Streak in an Array C++ Python O(nlogn) O(n) Medium Hash Table, DP
2506 Count Pairs Of Similar Strings C++ Python O(n * l) O(n) Easy Freq Table, Bitmask
2531 Make Number of Distinct Characters Equal C++ Python O(m + n) O(1) Medium Freq Table
2564 Substring XOR Queries C++ Python O(n * logr + q) O(min(n * logr, r)) Medium Hash Table
2588 Count the Number of Beautiful Subarrays C++ Python O(n) O(n) Medium Freq Table, Combinatorics
2592 Maximize Greatness of an Array C++ Python O(n) O(n) Medium Freq Table, Contructive Algorithms, Sort, Greedy, Two Pointers
2598 Smallest Missing Non-negative Integer After Operations C++ Python O(n) O(k) Medium Freq Table
2605 Form Smallest Number From Two Digit Arrays C++ Python O(m + n) O(m + n) Easy Hash Table
2615 Sum of Distances C++ Python O(n) O(n) Medium Freq Table, Prefix Sum
2657 Find the Prefix Common Array of Two Arrays C++ Python O(n) O(n) Medium Freq Table
2661 First Completely Painted Row or Column C++ Python O(m * n) O(m * n) Medium Hash Table
2670 Find the Distinct Difference Array C++ Python O(n) O(n) Easy Hash Table, Prefix Sum
2716 Minimize String Length C++ Python O(n) O(1) Easy Hash Table
2718 Sum of Matrix After Queries C++ Python O(n + q) O(n) Medium Hash Table


Math

# Title Solution Time Space Difficulty Tag Note
2001 Number of Pairs of Interchangeable Rectangles C++ Python O(n) O(n) Medium Math
2005 Subtree Removal Game with Fibonacci Tree C++ Python O(1) O(1) Hard ๐Ÿ”’ Math, Sprague-Grundy Theorem, Colon Principle
2028 Find Missing Observations C++ Python O(n) O(1) Medium
2029 Stone Game IX C++ Python O(n) O(1) Medium
2063 Vowels of All Substrings C++ Python O(n) O(1) Medium Combinatorics
2073 Time Needed to Buy Tickets C++ Python O(n) O(1) Easy Simulation, Math
2083 Substrings That Begin and End With the Same Letter C++ Python O(n) O(1) Medium ๐Ÿ”’ Combinatorics
2091 Removing Minimum and Maximum From Array C++ Python O(n) O(1) Medium Math
2110 Number of Smooth Descent Periods of a Stock C++ Python O(n) O(1) Medium Math, Combinatorics
2117 Abbreviating the Product of a Range C++ Python O(r - l) O(1) Hard Math
2119 A Number After a Double Reversal C++ Python O(1) O(1) Easy Math
2125 Number of Laser Beams in a Bank C++ Python O(m * n) O(1) Medium Math
2133 Check if Every Row and Column Contains All Numbers C++ Python O(n^2) O(n) Easy Math
2145 Count the Hidden Sequences C++ Python O(n) O(1) Medium Math
2148 Count Elements With Strictly Smaller and Greater Elements C++ Python O(n) O(1) Easy Math
2152 Minimum Number of Lines to Cover Points C++ Python O(n * 2^n) O(n^2) Medium ๐Ÿ”’ Math, Hash Table, Bitmasks
2169 Count Operations to Obtain Zero C++ Python O(log(min(m, n))) O(1) Easy Math, Euclidean Algorithm
2171 Removing Minimum Number of Magic Beans C++ Python O(nlogn) O(1) Medium Math, Sort
2176 Count Equal and Divisible Pairs in an Array C++ Python O(nlogk + n * sqrt(k)) O(n + sqrt(k)) Easy Math
2177 Find Three Consecutive Integers That Sum to a Given Number C++ Python O(1) O(1) Medium Math
2180 Count Integers With Even Digit Sum C++ Python O(logn) O(1) Easy Math
2183 Count Array Pairs Divisible by K C++ Python O(nlogk + k) O(sqrt(k)) Hard variant of Count Equal and Divisible Pairs in an Array Math
2198 Number of Single Divisor Triplets C++ Python O(d^3) O(d) Medium ๐Ÿ”’ Math, Combinatorics
2217 Find Palindrome With Fixed Length C++ Python O(n * l) O(1) Medium Math
2221 Find Triangular Sum of an Array C++ Python O(n) O(1) Medium Simulation, Combinatorics, Number Thoery
2235 Add Two Integers C++ Python O(1) O(1) Easy Math
2240 Number of Ways to Buy Pens and Pencils C++ Python O(sqrt(t)) O(1) Medium Math
2244 Minimum Rounds to Complete All Tasks C++ Python O(n) O(n) Medium Math, Freq Table
2249 Count Lattice Points Inside a Circle C++ Python O(n * r^2) O(min(n * r^2, max_x * max_y)) Medium Math, Hash Table
2262 Total Appeal of A String C++ Python O(n) O(26) Hard variant of Count Unique Characters of All Substrings of a Given String Combinatorics
2280 Minimum Lines to Represent a Line Chart C++ Python O(nlogn) O(1) Medium Sort, Math, GCD
2310 Sum of Numbers With Units Digit K C++ Python O(1) O(1) Medium Math
2338 Count the Number of Ideal Arrays C++ Python O(sqrt(m) + n + m * (logm + sqrt(m)/log(sqrt(m)))) O(sqrt(m) + n + logm) Hard variant of Count Ways to Make Array With Product DP, Linear Sieve of Eratosthenes, Factorization, Combinatorics
2344 Minimum Deletions to Make Array Divisible C++ Python O(n + m + logr) O(1) Hard Math, GCD
2345 Finding the Number of Visible Mountains C++ Python O(nlogn) O(1) Medium ๐Ÿ”’ Math, Sort, Mono Stack
2376 Count Special Integers C++ Python O(logn) O(logn) Hard variant of Numbers With Repeated Digits Combinatorics
2396 Strictly Palindromic Number C++ Python O(1) O(1) Medium Math
2400 Number of Ways to Reach a Position After Exactly k Steps C++ Python O(k) O(k) Medium Combinatorics
2409 Count Days Spent Together C++ Python O(1) O(1) Easy String, Math, Prefix Sum
2413 Smallest Even Multiple C++ Python O(1) O(1) Easy Math, Bit Manipulation
2427 Number of Common Factors C++ Python O(log(min(a, b)) + sqrt(gcd)) O(1) Easy Math
2437 Number of Valid Clock Times C++ Python O(1) O(1) Easy Combinatorics
2450 Number of Distinct Binary Strings After Applying Operations C++ Python O(logn) O(1) Medium ๐Ÿ”’ Combinatorics
2455 Average Value of Even Numbers That Are Divisible by Three C++ Python O(n) O(1) Easy Math
2468 Split Message Based on Limit C++ Python O(n + rlogr) O(1) Hard Brute Force, Math
2469 Convert the Temperature C++ Python O(1) O(1) Easy Math
2481 Minimum Cuts to Divide a Circle C++ Python O(1) O(1) Easy Math
2485 Find the Pivot Integer C++ Python O(1) O(1) Easy Math
2514 Count Anagrams C++ Python O(n) O(n) Hard Math, Combinatorics
2520 Count the Digits That Divide a Number C++ Python O(logn) O(1) Easy Math
2521 Distinct Prime Factors of Product of Array C++ Python precompute: O(sqrt(MAX_N))
runtime: O(m + nlog(logn))
O(sqrt(MAX_N)) Medium Number Theory, Linear Sieve of Eratosthenes
2523 Closest Prime Numbers in Range C++ Python precompute: O(MAX_N * log(MAX_N))
runtime: O(log(MAX_N))
O(MAX_N) Medium Number Theory, Linear Sieve of Eratosthenes, Segment Tree
2525 Categorize Box According to Criteria C++ Python O(1) O(1) Easy Math
2539 Count the Number of Good Subsequences C++ Python O(26 * n) O(n) Medium ๐Ÿ”’ Combinatorics
2543 Check if Point Is Reachable C++ Python O(log(min(a, b))) O(1) Hard Number Theory
2544 Alternating Digit Sum C++ Python O(logn) O(1) Easy Math
2549 Count Distinct Numbers on Board C++ Python O(1) O(1) Easy Math
2550 Count Collisions of Monkeys on a Polygon C++ Python O(logn) O(1) Medium Combinatorics, Fast Exponentiation
2562 Find the Array Concatenation Value C++ Python O(nlogr) O(1) Easy Math
2568 Minimum Impossible OR C++ Python O(logr) O(1) Medium Math, Hash Table, Bit Manipulations
2579 Count Total Number of Colored Cells C++ Python O(1) O(1) Medium Math
2582 Pass the Pillow C++ Python O(1) O(1) Medium Math
2584 Split the Array to Make Coprime Products C++ Python O(n * sqrt(r)) O(sqrt(r)) Hard Math, Number Theory
2614 Prime In Diagonal C++ Python precompute: O(MAX_N)
runtime: O(n)
O(MAX_N) Easy Number Theory, Linear Sieve of Eratosthenes
2651 Calculate Delayed Arrival Time C++ Python O(1) O(1) Easy Math
2652 Sum Multiples C++ Python O(1) O(1) Easy Math, Principle of Inclusion and Exclusion
2656 Maximum Sum With Exactly K Elements C++ Python O(n) O(1) Easy Math
2731 Movement of Robots C++ Python O(nlogn) O(1) Medium Sort, Math
2739 Total Distance Traveled C++ Python O(1) O(1) Easy Math


Sort

# Title Solution Time Space Difficulty Tag Note
2015 Average Height of Buildings in Each Segment C++ Python O(nlogn) O(n) Medium ๐Ÿ”’ Line Sweep
2021 Brightest Position on Street C++ Python O(nlogn) O(n) Medium ๐Ÿ”’ Line Sweep
2070 Most Beautiful Item for Each Query C++ Python O(nlogn + qlogn) O(1) Medium Sort, Binary Search
2089 Find Target Indices After Sorting Array C++ Python O(n) O(1) Easy Counting Sort
2158 Amount of New Area Painted Each Day C++ Python O(nlogr) O(r) Hard ๐Ÿ”’ Line Sweep, Sorted List, Heap, Segment Tree
2164 Sort Even and Odd Indices Independently C++ Python O(n) O(c) Easy Counting Sort, Inplace
2191 Sort the Jumbled Numbers C++ Python O(nlogm + nlogn) O(n) Medium Sort
2231 Largest Number After Digit Swaps by Parity C++ Python O(logn) O(1) Easy Counting Sort
2233 Maximum Product After K Increments C++ Python O(n + k) O(n) Medium Heap, Freq Table, Sort, Math
2248 Intersection of Multiple Arrays C++ Python O(n * l + r) O(l) Easy Hash Table, Counting Sort
2251 Number of Flowers in Full Bloom C++ Python O(nlogn + mlogn) O(n) Hard Line Sweep, Binary Search
2343 Query Kth Smallest Trimmed Number C++ Python O(q + n * t) O(t + n + q) Medium Sort, Quick Select, Radix Sort
2418 Sort the People C++ Python O(nlogn) O(n) Easy Sort
2497 Maximum Star Sum of a Graph C++ Python O(n) O(n) Medium Sort, Quick Select
2512 Reward Top K Students C++ Python O(pf * l + nf * l + n * l + klogk) O(pf * l + nf * l + n) Medium Partial Sort, Quick Select
2545 Sort the Students by Their Kth Score C++ Python O(mlogm) O(1) Medium Sort
2659 Make Array Empty C++ Python O(nlogn) O(n) Hard Sort, BIT, Fenwick Tree
2679 Sum in a Matrix C++ Python O(m * nlogn) O(1) Medium Sort
2740 Find the Value of the Partition C++ Python O(nlogn) O(1) Medium Sort


Two Pointers

# Title Solution Time Space Difficulty Tag Note
2009 Minimum Number of Operations to Make Array Continuous C++ Python O(nlogn) O(1) Hard Two Pointers, Sliding Window
2024 Maximize the Confusion of an Exam C++ Python O(n) O(1) Medium variant of Longest Repeating Character Replacement Sliding Window
2040 Kth Smallest Product of Two Sorted Arrays C++ Python O((m + n) * logr) O(1) Hard Binary Search, Two Pointers
2046 Sort Linked List Already Sorted Using Absolute Values C++ Python O(n) O(1) Medium ๐Ÿ”’ Linked List
2062 Count Vowel Substrings of a String C++ Python O(n) O(1) Easy variant of Count Number of Nice Subarrays Sliding Window
2067 Number of Equal Count Substrings C++ Python O(n) O(1) Medium ๐Ÿ”’ Sliding Window
2090 K Radius Subarray Averages C++ Python O(n) O(1) Medium Sliding Window
2105 Watering Plants II C++ Python O(n) O(1) Medium Simulation
2107 Number of Unique Flavors After Sharing K Candies C++ Python O(n) O(n) Medium ๐Ÿ”’ Sliding Window
2134 Minimum Swaps to Group All 1's Together II C++ Python O(n) O(1) Medium Sliding Window
2149 Rearrange Array Elements by Sign C++ Python O(n) O(1) Medium Two Pointers
2161 Partition Array According to Given Pivot C++ Python O(n) O(n) Medium Two Pointers
2200 Find All K-Distant Indices in an Array C++ Python O(n) O(1) Easy Two Pointers
2234 Maximum Total Beauty of the Gardens C++ Python O(nlogn) O(1) Hard Sort, Prefix Sum, Greedy, Binary Search, Two Pointers
2302 Count Subarrays With Score Less Than K C++ Python O(n) O(1) Hard Two Pointers, Sliding Window
2330 Valid Palindrome IV C++ Python O(n) O(1) Medium ๐Ÿ”’ String, Two Pointers
2332 The Latest Time to Catch a Bus C++ Python O(nlogn + mlogm) O(1) Medium String, Two Pointers
2337 Move Pieces to Obtain a String C++ Python O(n + m) O(1) Medium String, Two Pointers
2348 Number of Zero-Filled Subarrays C++ Python O(n) O(1) Medium Two Pointers, Combinatorics
2379 Minimum Recolors to Get K Consecutive Black Blocks C++ Python O(n) O(1) Easy Sliding Window
2393 Count Strictly Increasing Subarrays C++ Python O(n) O(1) Medium ๐Ÿ”’ Two Pointers
2401 Longest Nice Subarray C++ Python O(n) O(1) Medium Sliding Window, Two Pointers
2444 Count Subarrays With Fixed Bounds C++ Python O(n) O(1) Hard variant of Number of Substrings Containing All Three Characters Two Pointers
2461 Maximum Sum of Distinct Subarrays With Length K C++ Python O(n) O(k) Medium Two Pointers
2465 Number of Distinct Averages C++ Python O(nlogn) O(n) Easy Two Pointers, Hash Table
2511 Maximum Enemy Forts That Can Be Captured C++ Python O(n) O(1) Easy Array, Two Pointers
2516 Take K of Each Character From Left and Right C++ Python O(n) O(1) Medium Sliding Window, Two Pointers
2524 Maximum Frequency Score of a Subarray C++ Python O(n) O(n) Hard ๐Ÿ”’ Sliding Window, Two Pointers, Freq Table, Hash Table
2537 Count the Number of Good Subarrays C++ Python O(n) O(n) Medium Sliding Window, Two Pointers
2540 Minimum Common Value C++ Python O(n) O(1) Easy Two Pointers
2555 Maximize Win From Two Segments C++ Python O(n) O(n) Medium Two Pointers, Sliding Window, DP
2563 Count the Number of Fair Pairs C++ Python O(nlogn) O(1) Medium Sort, Two Pointers
2570 Merge Two 2D Arrays by Summing Values C++ Python O(n) O(1) Easy Two Pointers
2609 Find the Longest Balanced Substring of a Binary String C++ Python O(n) O(1) Easy String, Two Pointers
2653 Sliding Subarray Beauty C++ Python O(nlogk) O(k) Medium Sorted List, Ordered Set, Two Pointers
2730 Find the Longest Semi-Repetitive Substring C++ Python O(n) O(1) Medium Two Pointers


Recursion

# Title Solution Time Space Difficulty Tag Note
2613 Beautiful Pairs C++ Python O(n) on average O(n) Hard ๐Ÿ”’, variant of SPOJ - Closest Point Pair Random Algorithms, Divide and Conquer, Merge Sort, Segment Tree


Binary Search

# Title Solution Time Space Difficulty Tag Note
2064 Minimized Maximum of Products Distributed to Any Store C++ Python O(nlogm) O(1) Medium variant of Minimum Limit of Balls in a Bag
2111 Minimum Operations to Make the Array K-Increasing C++ Python O(nlog(n/k)) O(n/k) Hard variant of Longest Increasing Subsequence
2137 Pour Water Between Buckets to Make Water Levels Equal C++ Python O(nlogr) O(1) Medium ๐Ÿ”’
2187 Minimum Time to Complete Trips C++ Python O(nlogr) O(1) Medium
2226 Maximum Candies Allocated to K Children C++ Python O(nlogr) O(1) Medium Binary Search
2250 Count Number of Rectangles Containing Each Point C++ Python O(nlogn + m * max_y * logn) O(n) Medium Bucket Sort, Binary Search
2300 Successful Pairs of Spells and Potions C++ Python O(mlogm + nlogm) O(1) Medium Binary Search
2333 Minimum Sum of Squared Difference C++ Python O(nlogn + nlogr) O(1) Medium Binary Search
2387 Median of a Row Wise Sorted Matrix C++ Python O(logr * mlogn) O(1) Medium ๐Ÿ”’ Binary Search
2389 Longest Subsequence With Limited Sum C++ Python O(nlogn + qlogn) O(1) Easy Greedy, Sort, Binary Search
2448 Minimum Cost to Make Array Equal C++ Python O(nlogn) O(n) Hard Math, Binary Search, Prefix Sum
2476 Closest Nodes Queries in a Binary Search Tree C++ Python O(n + qlogn) O(n) Hard DFS, Binary Search
2513 Minimize the Maximum of Two Arrays C++ Python O(log(min(d1, d2))) O(1) Medium Number Theory, Binary Search
2517 Maximum Tastiness of Candy Basket C++ Python O(nlogr) O(1) Medium Binary Search, Greedy
2528 Maximize the Minimum Powered City C++ Python O(nlogk) O(n) Hard Binary Search, Sliding Window, Greedy
2529 Maximum Count of Positive Integer and Negative Integer C++ Python O(logn) O(1) Easy Binary Search
2554 Maximum Number of Integers to Choose From a Range I C++ Python O(b) O(b) Medium Math, Binary Search, Prefix Sum, Greedy
2557 Maximum Number of Integers to Choose From a Range II C++ Python O(b) O(b) Medium ๐Ÿ”’ Math, Binary Search, Prefix Sum
2560 House Robber IV C++ Python O(nlogn) O(n) Medium Binary Search, Greedy
2594 Minimum Time to Repair Cars C++ Python O(mx * (logc + log(mn))) O(mx) Medium Freq Table, Binary Search, Heap, Simulation
2602 Minimum Operations to Make All Array Elements Equal C++ Python O(nlogn + qlogn) O(n) Medium Sort, Binary Search, Prefix Sum
2616 Minimize the Maximum Difference of Pairs C++ Python O(nlogn + nlogr) O(1) Medium Sort, Binary Search, Greedy
2702 Minimum Operations to Make Numbers Non-positive C++ Python O(nlogr) O(1) Hard ๐Ÿ”’ Binary Search, Greedy


Binary Search Tree

# Title Solution Time Space Difficulty Tag Note
2426 Number of Pairs Satisfying Inequality C++ Python O(nlogn) O(n) Hard Merge Sort, Two Pointers, BIT, Fenwick Tree, Coordinate Compression, Sorted List, Ordered Set, Binary Search
2689 Extract Kth Character From The Rope Tree C++ Python O(h) O(1) Medium ๐Ÿ”’ BST


Breadth-First Search

# Title Solution Time Space Difficulty Tag Note
2039 The Time When the Network Becomes Idle C++ Python O(|E|) O(|E|) Medium Math
2045 Second Minimum Time to Reach Destination C++ Python O(|E|) O(|E|) Hard Bi-BFS
2050 Parallel Courses III C++ Python O(|V| + |E|) O(|E|) Hard variant of Parallel Courses Topological Sort
2059 Minimum Operations to Convert Number C++ Python O(m * n) O(m) Medium
2115 Find All Possible Recipes from Given Supplies C++ Python O(|E|) O(|E|) Medium Topological Sort
2146 K Highest Ranked Items Within a Price Range C++ Python O(m * n + klogk) O(m * n) Medium BFS, Quick Select, Sort
2258 Escape the Spreading Fire C++ Python O(m * n) O(m * n) Hard BFS
2290 Minimum Obstacle Removal to Reach Corner C++ Python O(m * n) O(m * n) Hard variant of Minimum Cost to Make at Least One Valid Path in a Grid A* Search Algorithm, 0-1 BFS, Deque
2316 Count Unreachable Pairs of Nodes in an Undirected Graph C++ Python O(n) O(n) Medium Flood Fill, BFS, Math
2368 Reachable Nodes With Restrictions C++ Python O(n) O(n) Medium BFS
2415 Reverse Odd Levels of Binary Tree C++ Python O(n) O(n) Medium BFS
2471 Minimum Number of Operations to Sort a Binary Tree by Level C++ Python O(nlogn) O(w) Medium Sort, BFS
2492 Minimum Score of a Path Between Two Cities C++ Python O(n + m) O(n + m) Medium BFS
2493 Divide Nodes Into the Maximum Number of Groups C++ Python O(n^2) O(n) Medium variant of Is Graph Bipartite? BFS, DFS
2503 Maximum Number of Points From Grid Queries C++ Python O((m * n + q) * log(m * n)) O(m * n) Hard BFS, Heap, Prefix Sum, Binary Search
2577 Minimum Time to Visit a Cell In a Grid C++ Python O(m * n * log(m * n)) O(m * n) Hard Dijkstra's Algorithm
2583 Kth Largest Sum in a Binary Tree C++ Python O(n) O(n) Medium BFS, Quick Select
2603 Collect Coins in a Tree C++ Python O(n) O(n) Hard Tree, BFS
2612 Minimum Reverse Operations C++ Python O(n) O(n) Hard BFS, Union Find, BST, Sorted List
2617 Minimum Number of Visited Cells in a Grid C++ Python O(m * n) O(m * n) Hard variant of Minimum Reverse Operations BFS, Union Find, BST, Sorted List
2641 Cousins in Binary Tree II C++ Python O(n) O(w) Medium BFS
2658 Maximum Number of Fish in a Grid C++ Python O(m * n) O(m + n) Medium BFS, DFS
2685 Count the Number of Complete Components C++ Python O(n) O(n) Medium BFS
2709 Greatest Common Divisor Traversal C++ Python precompute: O(sqrt(r))
runtime: O(nlogr)
O(sqrt(r) + nlogr) Hard Linear Sieve of Eratosthenes, Factorization, BFS


Depth-First Search

# Title Solution Time Space Difficulty Tag Note
2049 Count Nodes With the Highest Score C++ Python O(n) O(n) Medium
2065 Maximum Path Quality of a Graph C++ Python O(|V| + |E| + 4^10) O(|V| + |E| ) Hard Pruning
2192 All Ancestors of a Node in a Directed Acyclic Graph C++ Python O(|V| * |E|) O(|V| + |E|) Medium DFS, BFS, Topological Sort
2246 Longest Path With Different Adjacent Characters C++ Python O(n) O(h) Hard DFS, BFS, Topological Sort
2265 Count Nodes Equal to Average of Subtree C++ Python O(n) O(h) Medium DFS, Tree
2322 Minimum Score After Removals on a Tree C++ Python O(n^2) O(n) Hard DFS, Tree
2331 Evaluate Boolean Binary Tree C++ Python O(n) O(h) Easy DFS
2385 Amount of Time for Binary Tree to Be Infected C++ Python O(n) O(h) Medium BFS, DFS, Tree DP
2445 Number of Nodes With Value One C++ Python O(q + h) O(q + h) Medium ๐Ÿ”’ Tree, DFS, BFS
2458 Height of Binary Tree After Subtree Removal Queries C++ Python O(n) O(n) Hard Tree, DFS
2467 Most Profitable Path in a Tree C++ Python O(n) O(n) Medium Tree, DFS
2477 Minimum Fuel Cost to Report to the Capital C++ Python O(n) O(h) Medium Tree, DFS
2581 Count Number of Possible Root Nodes C++ Python O(n) O(h) Hard Tree, DFS


Backtracking

# Title Solution Time Space Difficulty Tag Note
2014 Longest Subsequence Repeated k Times C++ Python O(n * (n/k)!) O(n/k) Hard
2056 Number of Valid Move Combinations On Chessboard C++ Python O(1) O(1) Hard
2094 Finding 3-Digit Even Numbers C++ Python O(n) O(1) Easy
2443 Sum of Number and Its Reverse C++ Python O(n^(1/(2*log2(10)))) O(log10(n)/2) Medium Brute Force, Backtracking
2664 The Knightโ€™s Tour C++ Python O(m * n) O(1) Medium ๐Ÿ”’ Backtracking, Greedy, Warnsdorff's Rule
2698 Find the Punishment Number of an Integer C++ Python O(n * (logn)^(2*logn)) O(logn) Medium Backtracking
2741 Special Permutations C++ Python O(n^2 * 2^n) O(n * 2^n) Medium Backtracking, Memoization


Dynamic Programming

# Title Solution Time Space Difficulty Tag Note
2002 Maximum Product of the Length of Two Palindromic Subsequences C++ Python O(3^n) O(2^n) Medium DP, Submask Enumeration
2008 Maximum Earnings From Taxi C++ Python O(n + mlogm) O(n) Medium DP
2019 The Score of Students Solving Math Expression C++ Python O(n^3 * a^2) O(n^2) Hard variant of Burst Balloons
2031 Count Subarrays With More Ones Than Zeros C++ Python O(n) O(n) Medium ๐Ÿ”’ Prefix Sum, DP
2044 Count Number of Maximum Bitwise-OR Subsets C++ Python O(min(2^n, m * n)) O(min(2^n, m)) Medium DP
2052 Minimum Cost to Separate Sentence Into Rows C++ Python O(s + n * k) O(k) Medium ๐Ÿ”’ DP
2060 Check if an Original String Exists Given Two Encoded Strings C++ Python O(m * n * k) O(min(m, n) * k) Hard DP, Memoization
2088 Count Fertile Pyramids in a Land C++ Python O(m * n) O(n) Hard DP
2140 Solving Questions With Brainpower C++ Python O(n) O(n) Medium DP
2143 Choose Numbers From Two Arrays in Range C++ Python O(n^2 * v) O(n * v) Hard ๐Ÿ”’ DP
2167 Minimum Time to Remove All Cars Containing Illegal Goods C++ Python O(n) O(1) Hard DP
2174 Remove All Ones With Row and Column Flips II C++ Python O((m * n) * 2^(m * n)) O(2^(m * n)) Medium ๐Ÿ”’ DP, Bitmasks
2184 Number of Ways to Build Sturdy Brick Wall C++ Python O(h * p^2) O(p^2) Medium ๐Ÿ”’, variant of Painting a Grid With Three Different Colors DP, Backtracking, Matrix Exponentiation
2188 Minimum Time to Finish the Race C++ Python O((n + l) * logc) O(n + l + logc) Hard Greedy, DP
2189 Number of Ways to Build House of Cards C++ Python O(n^2) O(n) Medium ๐Ÿ”’ DP
2209 Minimum White Tiles After Covering With Carpets C++ Python O(m * n) O(m * n) Hard DP
2218 Maximum Value of K Coins From Piles C++ Python O(min(n * k^2, m * k))) O(k) Hard DP
2222 Number of Ways to Select Buildings C++ Python O(n) O(1) Medium DP
2247 Maximum Cost of Trip With K Highways C++ Python O(n^2 * 2^n) O(n * 2^n) Hard ๐Ÿ”’ DP, Bitmasks, BFS
2266 Count Number of Texts C++ Python O(n) O(1) Medium DP
2267 Check if There Is a Valid Parentheses String Path C++ Python O(m * n * (m + n) / 32) O(n * (m + n) / 32) Hard variant of Codeforces Round #801 C DP, Bitsets
2289 Steps to Make Array Non-decreasing C++ Python O(n) O(n) Hard DP, Mono Stack
2291 Maximum Profit From Trading Stocks C++ Python O(n * b) O(b) Medium ๐Ÿ”’ DP
2297 Jump Game IX C++ Python O(n) O(1) Medium ๐Ÿ”’ DP, Mono Stack
2304 Minimum Path Cost in a Grid C++ Python O(m * n^2) O(n) Medium DP
2305 Fair Distribution of Cookies C++ Python O(k * 3^n) O(2^n) Medium DP, Submask Enumeration
2312 Selling Pieces of Wood C++ Python O(m * n * (m + n)) O(m + n) Hard DP
2313 Minimum Flips in Binary Tree to Get Result C++ Python O(n) O(h) Hard ๐Ÿ”’ Tree DP
2318 Number of Distinct Roll Sequences C++ Python O(6^3 * n) O(6^2) Hard DP
2320 Count Number of Ways to Place Houses C++ Python O(logn) O(1) Medium variant of Fibonacci Number Matrix Exponentiation
2327 Number of People Aware of a Secret C++ Python O(n) O(f) Medium DP
2328 Number of Increasing Paths in a Grid C++ Python O(m * n) O(m * n) Hard Memoization, Topological Sort, DP
2361 Minimum Costs Using the Train Line C++ Python O(n) O(1) Hard ๐Ÿ”’ DP
2369 Check if There is a Valid Partition For The Array C++ Python O(n) O(1) Medium DP
2370 Longest Ideal Subsequence C++ Python O(n) O(1) Medium DP
2378 Choose Edges to Maximize Score in a Tree C++ Python O(n) O(n) Medium ๐Ÿ”’ DFS, Stack, Tree DP
2380 Time Needed to Rearrange a Binary String C++ Python O(n) O(1) Medium DP
2403 Minimum Time to Kill All Monsters C++ Python O(n * 2^n) O(2^n) Hard ๐Ÿ”’ Bitmasks, DP
2420 Find All Good Indices C++ Python O(n) O(n) Medium Prefix Sum
2430 Maximum Deletions on a String C++ Python O(n^2) O(n) Hard DP, Rabin-Karp Algorithm, Rolling Hash, Longest Prefix Suffix, KMP Algorithm
2431 Maximize Total Tastiness of Purchased Fruits C++ Python O(n * a * c) O(a * c) Medium ๐Ÿ”’ DP
2435 Paths in Matrix Whose Sum Is Divisible by K C++ Python O(m * n * k) O(n * k) Hard DP
2447 Number of Subarrays With GCD Equal to K C++ Python O(nlogr) O(logr) Medium DP
2463 Minimum Total Distance Traveled C++ Python O(mlogm + nlogn + m * n) O(n) Hard Sort, DP, Prefix Sum, Mono Deque
2464 Minimum Subarrays in a Valid Split C++ Python O(n^2 * logr) O(n) Medium ๐Ÿ”’ DP
2466 Count Ways To Build Good Strings C++ Python O(n) O(n) Medium DP
2470 Number of Subarrays With LCM Equal to K C++ Python O(n * sqrt(k) * logk) O(sqrt(k)) Medium variant of Number of Subarrays With GCD Equal to K DP
2470 Number of Subarrays With LCM Equal to K C++ Python O(n * sqrt(k) * logk) O(sqrt(k)) Medium variant of Number of Subarrays With GCD Equal to K DP
2475 Number of Unequal Triplets in Array C++ Python O(n) O(n) Easy DP, Freq Table, Math
2478 Number of Beautiful Partitions C++ Python O(n * k) O(n) Hard DP
2495 Number of Subarrays Having Even Product C++ Python O(n) O(1) Medium ๐Ÿ”’ DP, Math
2510 Check if There is a Path With Equal Number of 0's And 1's C++ Python O(m * n) O(n) Medium ๐Ÿ”’ DP
2518 Number of Great Partitions C++ Python O(n * k) O(k) Hard Knapsack DP
2533 Number of Good Binary Strings C++ Python O(n) O(w) Medium ๐Ÿ”’ DP
2538 Difference Between Maximum and Minimum Price Sum C++ Python O(n) O(n) Hard DFS, Tree DP
2547 Minimum Cost to Split an Array C++ Python O(n^2) O(n) Hard DP
2552 Count Increasing Quadruplets C++ Python O(n^2) O(n) Hard variant of 132 Pattern DP, Prefix Sum
2556 Disconnect Path in a Binary Matrix by at Most One Flip C++ Python O(m * n) O(m + n) Medium DP, DFS
2565 Subsequence With the Minimum Score C++ Python O(n) O(n) Hard Two Pointers, DP
2572 Count the Number of Square-Free Subsets C++ Python O(n + m * 2^p) O(m * 2^p) Medium Number Theory, Combinatorics, Bitmasks, Memoization, DP
2585 Number of Ways to Earn Points C++ Python O(n * t * c) O(t) Hard Knapsack DP
2597 The Number of Beautiful Subsets C++ Python O(n) O(n) Medium Combinatorics, DP
2638 Count the Number of K-Free Subsets C++ Python O(n) O(n) Medium ๐Ÿ”’, variant of The Number of Beautiful Subsets Combinatorics, DP
2646 Minimize the Total Price of the Trips C++ Python O(t * n) O(n) Hard DFS, Tree DP
2681 Power of Heroes C++ Python O(nlogn) O(1) Hard Sort, Combinatorics, DP
2684 Maximum Number of Moves in a Grid C++ Python O(m * n) O(m) Medium DP, BFS
2707 Extra Characters in a String C++ Python O(n * l) O(n + t) Medium DP, Trie
2713 Maximum Strictly Increasing Cells in a Matrix C++ Python O(m * n * log(m * n)) O(m * n) Hard Sort, DP
2719 Count of Integers C++ Python O(m * n) O(m + n) Hard Combinatorics, DP
2742 Painting the Walls C++ Python O(n^2) O(n) Hard Knapsack DP


Greedy

# Title Solution Time Space Difficulty Tag Note
2027 Minimum Moves to Convert String C++ Python O(n) O(1) Easy
2030 Smallest K-Length Subsequence With Occurrences of a Letter C++ Python O(n) O(n) Hard Mono Stack, Greedy
2036 Maximum Alternating Subarray Sum C++ Python O(n) O(1) Medium variant of Maximum Alternating Subsequence Sum, ๐Ÿ”’ Greedy, Kadane's Algorithm
2037 Minimum Number of Moves to Seat Everyone C++ Python O(nlogn) O(1) Easy Greedy
2071 Maximum Number of Tasks You Can Assign C++ Python O(n * (logn)^2) O(n) Hard Greedy, Binary Search, Sorted List
2086 Minimum Number of Buckets Required to Collect Rainwater from Houses C++ Python O(n) O(1) Medium Greedy
2087 Minimum Cost Homecoming of a Robot in a Grid C++ Python O(m + n) O(1) Medium Greedy
2126 Destroying Asteroids C++ Python O(nlogn) O(1) Medium Greedy
2136 Earliest Possible Day of Full Bloom C++ Python O(nlogn) O(n) Hard Greedy
2139 Minimum Moves to Reach Target Score C++ Python O(logn) O(1) Medium
2141 Maximum Running Time of N Computers C++ Python O(nlogm) O(1) Hard Greedy, Binary Search
2144 Minimum Cost of Buying Candies With Discount C++ Python O(nlogn) O(1) Easy Greedy, Sort
2147 Number of Ways to Divide a Long Corridor C++ Python O(n) O(1) Hard Greedy, Combinatorics
2160 Minimum Sum of Four Digit Number After Splitting Digits C++ Python O(1) O(1) Easy Greedy
2165 Smallest Value of the Rearranged Number C++ Python O(d) O(d) Medium Greedy, Counting Sort
2178 Maximum Split of Positive Even Integers C++ Python O(sqrt(n)) O(1) Medium Greedy
2182 Construct String With Repeat Limit C++ Python O(n) O(1) Medium Greedy
2193 Minimum Number of Moves to Make Palindrome C++ Python O(nlogn) O(n) Hard Greedy, BIT, Fenwick Tree
2195 Append K Integers With Minimal Sum C++ Python O(nlogn) O(n) Medium Greedy
2207 Maximize Number of Subsequences in a String C++ Python O(n) O(1) Medium Counting, Greedy
2214 Minimum Health to Beat Game C++ Python O(n) O(1) Medium ๐Ÿ”’ Greedy
2216 Minimum Deletions to Make Array Beautiful C++ Python O(n) O(1) Medium Greedy
2224 Minimum Number of Operations to Convert Time C++ Python O(1) O(1) Easy Greedy
2259 Remove Digit From Number to Maximize Result C++ Python O(n) O(1) Easy Greedy
2263 Make Array Non-decreasing or Non-increasing C++ Python O(nlogn) O(n) Hard ๐Ÿ”’ DP, Greedy, Heap
2268 Minimum Number of Keypresses C++ Python O(n) O(1) Medium ๐Ÿ”’ Greedy, Sort
2279 Maximum Bags With Full Capacity of Rocks C++ Python O(nlogn) O(1) Medium Greedy, Sort
2285 Maximum Total Importance of Roads C++ Python O(n) O(n) Medium Greedy, Counting Sort
2294 Partition Array Such That Maximum Difference Is K C++ Python O(nlogn) O(1) Medium Greedy
2311 Longest Binary Subsequence Less Than or Equal to K C++ Python O(n) O(1) Medium Greedy
2321 Maximum Score Of Spliced Array C++ Python O(n) O(1) Hard Greedy, Kadane's Algorithm
2323 Find Minimum Time to Finish All Jobs II C++ Python O(nlogn) O(1) Medium ๐Ÿ”’ Greedy
2340 Minimum Adjacent Swaps to Make a Valid Array C++ Python O(n) O(1) Medium ๐Ÿ”’ Array, Greedy
2366 Minimum Replacements to Sort the Array C++ Python O(n) O(1) Hard Greedy, Math
2371 Minimize Maximum Value in a Grid C++ Python O((m * n) * log(m * n)) O(m * n) Hard ๐Ÿ”’ Sort, Greedy
2375 Construct Smallest Number From DI String C++ Python O(n) O(1) Medium Constructive Algorithms, Greedy
2383 Minimum Hours of Training to Win a Competition C++ Python O(n) O(1) Easy Greedy
2384 Largest Palindromic Number C++ Python O(n) O(1) Medium Freq Table, Greedy
2405 Optimal Partition of String C++ Python O(n) O(n) Medium Greedy, Hash Table
2410 Maximum Matching of Players With Trainers C++ Python O(nlogn + mlogm) O(1) Medium Greedy, Sort
2412 Minimum Money Required Before Transactions C++ Python O(n) O(1) Hard Greedy, Constructive Algorithms
2417 Closest Fair Integer C++ Python O(logn) O(logn) Medium ๐Ÿ”’ Constructive Algorithms, Greedy
2422 Merge Operations to Turn Array Into a Palindrome C++ Python O(n) O(1) Medium ๐Ÿ”’ Constructive Algorithms, Greedy, Two Pointers
2434 Using a Robot to Print the Lexicographically Smallest String C++ Python O(n) O(n) Medium Freq Table, Greedy
2436 Minimum Split Into Subarrays With GCD Greater Than One C++ Python O(nlogr) O(1) Medium ๐Ÿ”’ Greedy
2439 Minimize Maximum of Array C++ Python O(n) O(1) Medium Greedy
2440 Create Components With Same Value C++ Python O(n * sqrt(n)) O(n) Hard BFS, DFS, Greedy
2449 Minimum Number of Operations to Make Arrays Similar C++ Python O(nlogn) O(1) Hard Greedy, Sort
2457 Minimum Addition to Make Integer Beautiful C++ Python O(logn) O(1) Medium Greedy
2459 Sort Array by Moving Items to Empty Space C++ Python O(n) O(n) Hard ๐Ÿ”’ Greedy, Sort
2472 Maximum Number of Non-overlapping Palindrome Substrings C++ Python O(n * k) O(1) Hard Two Pointers, Greedy
2479 Maximum XOR of Two Non-Overlapping Subtrees C++ Python O(nlogr) O(n) Hard ๐Ÿ”’, variant of Maximum XOR of Two Numbers in an Array DFS, Trie, Greedy
2483 Minimum Penalty for a Shop C++ Python O(n) O(1) Medium Greedy
2486 Append Characters to String to Make Subsequence C++ Python O(n) O(1) Medium Two Pointers, Greedy
2498 Frog Jump II C++ Python O(n) O(1) Medium Greedy
2499 Minimum Total Cost to Make Arrays Unequal C++ Python O(n) O(n) Hard Greedy
2522 Partition String Into Substrings With Values at Most K C++ Python O(n) O(1) Medium Greedy
2541 Minimum Operations to Make Array Equal II C++ Python O(n) O(1) Medium Greedy
2542 Maximum Subsequence Score C++ Python O(nlogn) O(n) Medium variant of Maximum Performance of a Team Greedy, Heap
2548 Maximum Price to Fill a Bag C++ Python O(nlogn) O(1) Medium ๐Ÿ”’ Greedy, Sort
2551 Put Marbles in Bags C++ Python O(n) on average O(1) Hard Greedy, Quick Select
2561 Rearranging Fruits C++ Python O(n) on average O(n) Hard Freq Table, Greedy, Quick Select
2566 Maximum Difference by Remapping a Digit C++ Python O(logn) O(1) Easy Greedy
2567 Minimum Score by Changing Two Elements C++ Python O(nlogn) O(1) Medium Sort, Greedy
2571 Minimum Operations to Reduce an Integer to 0 C++ Python O(logn) O(1) Medium Greedy, Trick
2573 Find the String with LCP C++ Python O(n^2) O(1) Hard Constructive Algorithms, Greedy, DP
2576 Find the Maximum Number of Marked Indices C++ Python O(nlogn) O(1) Medium Sort, Greedy, Two Pointers
2578 Split With Minimum Sum C++ Python O(mlogm) O(m) Easy Sort, Greedy
2587 Rearrange Array to Maximize Prefix Score C++ Python O(nlogn) O(1) Medium Sort, Greedy
2589 Minimum Time to Complete All Tasks C++ Python O(nlogn + n * r) O(r) Hard Sort, Greedy
2591 Distribute Money to Maximum Children C++ Python O(1) O(1) Easy Greedy, Math
2599 Make the Prefix Sum Non-negative C++ Python O(nlogn) O(n) Medium ๐Ÿ”’ Prefix Sum, Greedy, Heap
2600 K Items With the Maximum Sum C++ Python O(1) O(1) Easy Greedy, Math
2601 Prime Subtraction Operation C++ Python O(p + nlogp) O(p) Medium Number Theory, Greedy, Binary Search
2604 Minimum Time to Eat All Grains C++ Python O(mlogm + nlogn + (m + n) * logr) O(1) Hard ๐Ÿ”’ Binary Search, Greedy
2606 Find the Substring With Maximum Cost C++ Python O(n) O(1) Medium Greedy, Kadane's Algorithm
2607 Make K-Subarray Sums Equal C++ Python O(n) O(n) Medium Math, Greedy, Quick Select
2611 Mice and Cheese C++ Python O(n) O(1) Medium Greedy, Quick Select
2645 Minimum Additions to Make Valid String C++ Python O(n) O(1) Medium Greedy
2663 Lexicographically Smallest Beautiful String C++ Python O(n) O(1) Hard Greedy
2673 Make Costs of Paths Equal in a Binary Tree C++ Python O(n) O(1) Medium Tree, Greedy
2680 Maximum OR C++ Python O(n) O(n) Medium Prefix Sum, Greedy
2697 Lexicographically Smallest Palindrome C++ Python O(n) O(1) Easy Greedy
2706 Buy Two Chocolates C++ Python O(n) O(1) Easy Greedy
2708 Maximum Strength of a Group C++ Python O(n) O(1) Medium Greedy
2712 Minimum Cost to Make All Characters Equal C++ Python O(n) O(1) Medium Greedy
2734 Lexicographically Smallest String After Substring Operation C++ Python O(n) O(1) Medium Greedy


Graph

# Title Solution Time Space Difficulty Tag Note
2076 Process Restricted Friend Requests C++ Python O(n * r) O(n) Hard Union Find
2077 Paths in Maze That Lead to Same Room C++ Python O(|V|^3) O(|E|) Medium ๐Ÿ”’
2092 Find All People With Secret C++ Python O(nlogn) O(nlogn) Hard BFS, DFS, Union Find
2093 Minimum Path Cost in a Hidden Grid C++ Python O(|E| * log|V|) O(|V| + |E|) Medium variant of Cheapest Flights Within K Stops, ๐Ÿ”’ Dijkstra's Algorithm, DP
2097 Valid Arrangement of Pairs C++ Python O(|V| + |E|) O(|V| + |E|) Hard variant of Reconstruct Itinerary Hierholzer's Algorithm, Eulerian Path
2123 Minimum Operations to Remove Adjacent Ones in Matrix C++ Python O(m * n * sqrt(m * n)) O(m + n) Hard variant of Maximum Students Taking Exam, ๐Ÿ”’ Hopcroft-Karp Bipartite Matching, Maximum Independent Set
2127 Maximum Employees to Be Invited to a Meeting C++ Python O(n) O(n) Hard
2172 Maximum AND Sum of Array C++ Python O(n^3) O(n^2) Hard variant of Maximum Compatibility Score Sum DP, Hungarian Weighted Bipartite Matching
2203 Minimum Weighted Subgraph With the Required Paths C++ Python O(|E| * log|V|) O(|E|) Hard Dijkstra's Algorithm
2204 Distance to a Cycle in Undirected Graph C++ Python O(|V| + |E|) O(|V| + |E|) Hard ๐Ÿ”’ Graph, DFS, BFS
2242 Maximum Score of a Node Sequence C++ Python O(|V| + |E|) O(|V|) Hard Graph
2307 Check for Contradictions in Equations C++ Python O(e + q) O(n) Hard ๐Ÿ”’, variant of Evaluate Division DFS, Union Find
2359 Find Closest Node to Given Two Nodes C++ Python O(n) O(n) Medium Graph, Hash Table, DFS
2360 Longest Cycle in a Graph C++ Python O(n) O(n) Hard Graph, Hash Table, DFS
2392 Build a Matrix With Conditions C++ Python O(k^2 + r + c) O(k + r + c) Hard Graph, Topological Sort
2473 Minimum Cost to Buy Apples C++ Python O(n * rlogn) O(n) Medium ๐Ÿ”’ Dijkstra's Algorithm
2508 Add Edges to Make Degrees of All Nodes Even C++ Python O(n) O(n) Hard Graph
2608 Shortest Cycle in a Graph C++ Python O(n^2) O(n + e) Hard Graph, BFS
2662 Minimum Cost of a Path With Special Roads C++ Python O(n^2) O(n^2) Medium Graph, Dijkstra's Algorithm
2699 Modify Graph Edge Weights C++ Python O(|E| * log|V|) O(|E|) Hard Graph, Dijkstra's Algorithm
2714 Find Shortest Path with K Hops C++ Python O(n * k + (k * e) * log(n * k)) O(n * k + e) Hard ๐Ÿ”’ Graph, Dijkstra's Algorithm
2737 Find the Closest Marked Node C++ Python O(|E| * log|V|) O(|E|) Medium ๐Ÿ”’ Graph, Dijkstra's Algorithm


Geometry

# Title Solution Time Space Difficulty Tag Note
2101 Detonate the Maximum Bombs C++ Python O(|V|^2 + \V| * |E|) O(\V| + |E|) Medium Graph, DFS, BFS


Simulation

# Title Solution Time Space Difficulty Tag Note
2061 Number of Spaces Cleaning Robot Cleaned C++ Python O(m * n) O(1) Medium ๐Ÿ”’
2162 Minimum Cost to Set Cooking Time C++ Python O(1) O(1) Medium
2257 Count Unguarded Cells in the Grid C++ Python O(m * n) O(m * n) Medium Array, Simulation
2303 Calculate Amount Paid in Taxes C++ Python O(n) O(1) Easy Simulation
2507 Smallest Value After Replacing With Sum of Prime Factors C++ Python O(s * logn) O(max_n^0.5) Medium Number Theory, Simulation
2532 Time to Cross a Bridge C++ Python O(k + nlogk) O(k) Hard Heap, Simulation
2534 Time Taken to Cross the Door C++ Python O(n) O(n) Hard ๐Ÿ”’ Queue, Simulation
2593 Find Score of an Array After Marking All Elements C++ Python O(nlogn) O(n) Medium Simulation, Sort, Hash Table
2596 Check Knight Tour Configuration C++ Python O(m * n) O(m * n) Medium Simulation, Hash Table
2682 Find the Losers of the Circular Game C++ Python O(n) O(n) Easy Hash Table, Simulation


Constructive Algorithms

# Title Solution Time Space Difficulty Tag Note
2202 Maximize the Topmost Element After K Moves C++ Python O(min(n, k)) O(1) Medium Constructive Algorithms
2335 Minimum Amount of Time to Fill Cups C++ Python O(1) O(1) Easy Math, Constructive Algorithms
2350 Shortest Impossible Sequence of Rolls C++ Python O(n) O(k) Hard Constructive Algorithms
2546 Apply Bitwise Operations to Make Strings Equal C++ Python O(n) O(1) Medium Constructive Algorithms
2358 Maximum Number of Groups Entering a Competition C++ Python O(1) O(1) Medium Constructive Algorithms, Math
2610 Convert an Array Into a 2D Array With Conditions C++ Python O(n) O(n) Medium Freq Table, Constructive Algorithms
2647 Color the Triangle Red C++ Python O(n^2) O(1) Hard ๐Ÿ”’ Constructive Algorithms
2654 Minimum Number of Operations to Make All Array Elements Equal to 1 C++ Python O(n^2) O(1) Medium Math, Number Theory, Constructive Algorithms
2728 Count Houses in a Circular Street C++ Python O(k) O(1) Easy ๐Ÿ”’ Constructive Algorithms
2732 Find a Good Subset of the Matrix C++ Python O(m * 2^n) O(2^n) Hard Bitmasks, Constructive Algorithms, Greedy


Design

# Title Solution Time Space Difficulty Tag Note
2013 Detect Squares C++ Python ctor: O(1)
add: O(1)
count: O(n)
O(n) Medium
2034 Stock Price Fluctuation C++ Python ctor: O(1)
update: O(logn)
current: O(1)
max: O(1)
min: O(1)
O(n) Medium Sorted List, Heap
2043 Simple Bank System C++ Python ctor: O(1)
transer: O(1)
deposit: O(1)
withdraw: O(1)
O(1) Medium
2069 Walking Robot Simulation II C++ Python O(1) O(1) Medium Simulation, Math
2080 Range Frequency Queries C++ Python ctor: O(n)
query: O(logn)
O(n) Medium Binary Search
2102 Sequentially Ordinal Rank Tracker C++ Python add: O(logn)
get: O(logn)
O(n) Hard Sorted List
2166 Design Bitset C++ Python ctor: O(n)
fix: O(1)
fix: O(1)
unfix: O(1)
flip: O(1)
all: O(1)
one: O(1)
count: O(1)
toString: O(n)
O(n) Medium
2227 Encrypt and Decrypt Strings C++ Python ctor: O(m + d)
encrypt: O(n)
decrypt: O(n)
O(n) Hard Freq Table
2241 Design an ATM Machine C++ Python ctor: O(1)
deposit: O(1)
withdraw: O(1)
O(1) Medium Greedy
2254 Design Video Sharing Platform C++ Python ctor: O(1)
upload: O(logn + l)
remove: O(logn)
like: O(1)
dislike: O(1)
view: O(1)
getLikesAndDislikes: O(1)
getViews: O(1)
O(n * l) Hard ๐Ÿ”’ Heap
2276 Count Integers in Intervals C++ Python ctor: O(1)
add: O(logn), amortized
Count: O(1)
O(n) Hard Sorted List
2286 Booking Concert Tickets in Groups C++ Python ctor: O(n)
gather: O(logn)
scatter: O(logn), amortized
O(n) Hard Segment Tree, Binary Search
2296 Design a Text Editor C++ Python ctor: O(1)
addText: O(l)
deleteText: O(k)
cursorLeft: O(k)
cursorRight: O(k)
O(n) Hard Stack
2336 Smallest Number in Infinite Set C++ Python ctor: O(1)
popSmallest: O(logn)
addBack: O(logn)
O(n) Medium Heap, BST
2349 Design a Number Container System C++ Python ctor: O(1)
change: O(logn)
find: O(1)
O(n) Medium Sorted List, BST
2353 Design a Food Rating System C++ Python ctor: O(nlogn)
changeRating: O(logn)
highestRated: O(1)
O(n) Medium Sorted List, BST
2408 Design SQL C++ Python ctor: O(t * max_m)
insertRow: O(m)
deleteRow: O(1)
selectCell: O(m)
O(d) Medium ๐Ÿ”’ Hash Table
2424 Longest Uploaded Prefix C++ Python ctor: O(1)
upload: O(1), amortized
longest: O(1)
O(n) Medium Hash Table
2502 Design Memory Allocator C++ Python ctor: O(1)
allocate: O(logn)
free: O(logn)
O(n) Medium Sorted List
2526 Find Consecutive Integers from a Data Stream C++ Python O(1) O(1) Medium Array
2590 Design a Todo List C++ Python ctor: O(1)
addTask: O(l + logn)
getAllTasks: O(r)
getTasksForTag: O(r * c)
completeTask: O(l + logn)
O(n * l) Medium ๐Ÿ”’ BST, Sorted List
2642 Design Graph With Shortest Path Calculator C++ Python ctor: O(|V| + |E|)
addEdge: O(1)
shortestPath: O(|E| * log|V|)
O(|E|) Hard Dijkstra's Algorithm
2671 Frequency Tracker C++ Python ctor: O(1)
add: O(1)
deleteOne: O(1)
hasFrequency: O(1)
O(min(n, r)) Medium Freq Table


JS

# Title Solution Time Space Difficulty Tag Note
2618 Check if Object Instance of Class TypeScript O(n) O(1) Medium
2619 Array Prototype Last TypeScript O(1) O(1) Easy
2620 Counter TypeScript O(1) O(1) Easy
2621 Sleep TypeScript O(1) O(1) Easy Promise
2622 Cache With Time Limit TypeScript O(1) O(1) Medium Hash Table
2623 Memoize TypeScript O(1) O(1) Medium Hash Table
2624 Snail traversal TypeScript O(m * n) O(1) Medium
2625 Flatten Deeply Nested Array TypeScript O(n) O(h) Medium DFS
2626 Array Reduce Transformation TypeScript O(n) O(1) Easy
2627 Debounce TypeScript O(1) O(1) Medium
2628 JSON Deep Equal TypeScript O(n) O(h) Medium DFS
2629 Function Composition TypeScript O(n) O(1) Easy
2630 Memoize II TypeScript O(n) O(t) Hard Trie
2631 Group By TypeScript O(n) O(1) Medium
2632 Curry TypeScript O(n) O(n) Medium
2633 Convert Object to JSON String TypeScript O(n) O(h) Medium DFS
2634 Filter Elements from Array TypeScript O(n) O(1) Easy
2635 Apply Transform Over Each Element in Array TypeScript O(n) O(1) Easy
2636 Promise Pool TypeScript O(c + n / c) O(c) Medium Promise
2637 Promise Time Limit TypeScript O(n) O(1) Easy Promise
2648 Generate Fibonacci Sequence TypeScript O(1) O(1) Easy DP
2649 Nested Array Generator TypeScript O(1) O(d) Medium DFS
2650 Design Cancellable Function TypeScript O(1) O(1) Hard Promise
2665 Counter II TypeScript ctor: O(1)
increment: O(1)
decrement: O(1)
reset: O(1)
O(1) Easy
2666 Allow One Function Call TypeScript O(1) O(1) Easy
2667 Create Hello World Function TypeScript O(1) O(1) Easy
2675 Array of Objects to Matrix TypeScript O(l * mlogm + m * n) O(l * m + m * n) Medium DFS
2676 Throttle TypeScript O(1) O(1) Medium
2677 Chunk Array TypeScript O(n) O(1) Easy
2690 Infinite Method Object TypeScript O(1) O(1) Medium ๐Ÿ”’ Proxy
2691 Immutability Helper TypeScript O(1) O(1) Hard ๐Ÿ”’ Proxy
2692 Make Object Immutable TypeScript O(1) O(1) Medium ๐Ÿ”’ Proxy
2693 Call Function with Custom Context TypeScript O(1) O(1) Medium Symbol
2694 Event Emitter TypeScript subscribe: O(1)
unsubscribe: O(1)
emit: O(n)
O(n) Medium Ordered Set
2695 Array Wrapper TypeScript valueOf: O(n)
toString: O(n)
O(1) Easy
2700 Differences Between Two Objects TypeScript O(n) O(h) Medium DFS
2703 Return Length of Arguments Passed TypeScript O(1) O(1) Easy
2704 To Be Or Not To Be TypeScript O(1) O(1) Easy
2705 Compact Object TypeScript O(n) O(h) Medium DFS
2715 Execute Cancellable Function With Delay TypeScript O(1) O(1) Easy
2721 Execute Asynchronous Functions in Parallel TypeScript O(n) O(n) Medium Promise
2722 Join Two Arrays by ID TypeScript O(mlogm + nlogn) O(1) Medium Sort, Two Pointers
2723 Add Two Promises TypeScript O(1) O(1) Easy Promise
2724 Sort By TypeScript O(nlogn) O(1) Easy Sort
2725 Interval Cancellation TypeScript O(1) O(1) Easy
2726 Calculator with Method Chaining TypeScript O(1) O(1) Easy
2727 Is Object Empty TypeScript O(1) O(1) Easy


SQL

# Title Solution Time Space Difficulty Tag Note
2004 The Number of Seniors and Juniors to Join the Company MySQL O(nlogn) O(n) Hard ๐Ÿ”’
2010 The Number of Seniors and Juniors to Join the Company II MySQL O(nlogn) O(n) Hard ๐Ÿ”’
2020 Number of Accounts That Did Not Stream MySQL O(m + n) O(m + n) Medium ๐Ÿ”’
2026 Low-Quality Problems MySQL O(nlogn) O(n) Easy ๐Ÿ”’
2041 Accepted Candidates From the Interviews MySQL O(m + n) O(m + n) Medium ๐Ÿ”’
2051 The Category of Each Member in the Store MySQL O(m + n) O(m + n) Medium ๐Ÿ”’
2066 Account Balance MySQL O(nlogn) O(n) Medium ๐Ÿ”’
2072 The Winner University MySQL O(n) O(n) Easy ๐Ÿ”’
2082 The Number of Rich Customers MySQL O(n) O(n) Easy ๐Ÿ”’
2084 Drop Type 1 Orders for Customers With Type 0 Orders MySQL O(nlogn) O(n) Medium ๐Ÿ”’
2112 The Airport With the Most Traffic MySQL O(n) O(n) Medium ๐Ÿ”’
2118 Build the Equation MySQL O(nlogn) O(n) Hard ๐Ÿ”’
2142 The Number of Passengers in Each Bus I MySQL O(p * b + blogb) O(p * b) Medium ๐Ÿ”’
2153 The Number of Passengers in Each Bus II MySQL O(p * b + blogb) O(p * b) Hard ๐Ÿ”’
2159 Order Two Columns Independently MySQL O(nlogn) O(n) Medium ๐Ÿ”’
2173 Longest Winning Streak MySQL O(nlogn) O(n) Hard ๐Ÿ”’
2175 The Change in Global Rankings MySQL O(nlogn) O(n) Medium ๐Ÿ”’
2199 Finding the Topic of Each Post MySQL O(n * mlogm) O(n * m) Hard ๐Ÿ”’
2205 The Number of Users That Are Eligible for Discount MySQL O(n) O(n) Easy ๐Ÿ”’
2228 Users With Two Purchases Within Seven Days MySQL O(nlogn) O(n) Medium ๐Ÿ”’
2230 The Users That Are Eligible for Discount MySQL O(nlogn) O(n) Easy ๐Ÿ”’
2238 Number of Times a Driver Was a Passenger MySQL O(n) O(n) Medium ๐Ÿ”’
2252 Dynamic Pivoting of a Table MySQL O(n * m) O(n * m) Hard ๐Ÿ”’
2253 Dynamic Unpivoting of a Table MySQL O(n * m) O(n * m) Hard ๐Ÿ”’
2292 Products With Three or More Orders in Two Consecutive Years MySQL O(nlogn) O(n) Medium ๐Ÿ”’
2298 Tasks Count in the Weekend MySQL O(n) O(n) Medium ๐Ÿ”’
2308 Arrange Table by Gender MySQL O(nlogn) O(n) Medium ๐Ÿ”’
2314 The First Day of the Maximum Recorded Degree in Each City MySQL O(nlogn) O(n) Medium ๐Ÿ”’
2324 Product Sales Analysis IV MySQL O(nlogn) O(n) Medium ๐Ÿ”’
2329 Product Sales Analysis V MySQL O(nlogn) O(n) Medium ๐Ÿ”’
2339 All the Matches of the League MySQL O(n^2) O(n^2) Easy ๐Ÿ”’
2346 Compute the Rank as a Percentage MySQL O(nlogn) O(n) Medium ๐Ÿ”’
2356 Number of Unique Subjects Taught by Each Teacher MySQL O(n) O(n) Easy ๐Ÿ”’
2362 Generate the Invoice MySQL O(m + nlogn) O(n + m) Hard ๐Ÿ”’
2372 Calculate the Influence of Each Salesperson MySQL O(sp + c + s) O(sp + c + s) Medium ๐Ÿ”’
2377 Sort the Olympic Table MySQL O(nlogn) O(n) Easy ๐Ÿ”’
2388 Change Null Values in a Table to the Previous Value MySQL O(nlogn) O(n) Medium ๐Ÿ”’
2394 Employees With Deductions MySQL O(n) O(n) Medium ๐Ÿ”’
2474 Customers With Strictly Increasing Purchases MySQL O(n) O(n) Hard ๐Ÿ”’
2480 Form a Chemical Bond MySQL O(n^2) O(n) Easy ๐Ÿ”’
2494 Merge Overlapping Events in the Same Hall MySQL O(nlogn) O(n) Hard ๐Ÿ”’
2504 Concatenate the Name and the Profession MySQL O(nlogn) O(n) Easy ๐Ÿ”’
2668 Find Latest Salaries MySQL O(nlogn) O(n) Easy ๐Ÿ”’
2669 Count Artist Occurrences On Spotify Ranking List MySQL O(nlogn) O(n) Easy ๐Ÿ”’
2686 Immediate Food Delivery III MySQL O(nlogn) O(n) Medium ๐Ÿ”’
2687 Bikes Last Time Used MySQL O(nlogn) O(n) Easy ๐Ÿ”’
2688 Find Active Users MySQL O(nlogn) O(n) Medium ๐Ÿ”’
2701 Consecutive Transactions with Increasing Amounts MySQL O(nlogn) O(n) Hard ๐Ÿ”’
2720 Popularity Percentage MySQL O(n^2) O(n^2) Hard ๐Ÿ”’
2738 Count Occurrences in Text MySQL O(n) O(n) Medium ๐Ÿ”’


Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.