This Challenge is beginner-friendly and available to both Premium and non-Premium users. It consists of 30-31 daily problems depends on the month type. A problem is added here each day, and you have 24 hours to make a valid submission for it in order to be eligible for rewards.
In this LeetCode Challenge, we challenge participants with a problem from our carefully curated collection of interview problems every 24 hours. All users with all levels of coding background are welcome to join!
π When is August's LeetCoding Challenge? Start: August 1st, 12:00 AM in Pacific Time (UTC-7)
End: August 31th, 23:59 PM in Pacific Time (UTC-7)
π© How do I join August's LeetCoding Challenge?
To join, just start solving problems in August's LeetCoding Challenge Explore Card. No registration is required. The first problem will appear in the Explore card on August's 1st, 12 a.m. Pacific Time and you will have 24 hours to solve that challenge. A problem is added in the Explore card each day. For more details such as the Challenge Rules, please refer to the Explore card.
π Rewards:
Completing each daily challenge. (+10 LeetCoins)
Completing 25 to 30 daily challenges will be eligible for an additional 100 LeetCoins. (Total = 350 to 400 LeetCoins)
Completing all 31 daily challenges will be eligible for 2X the reward, plus a chance to win a secret prize ( Total = 620 LeetCoins + *Lucky Draw)!
Lucky Draw: Those who complete all 31 daily challenges will be automatically entered into a Lucky Draw, where LeetCode staff will randomly select 3 lucky participants to each receive one LeetCode Cap on top of their rewards!
π€© What are you waiting for? Mark your calendar now to start the August LeetCoding Challenge on August 1st, 2022!
| # | Title | Solution | Tags | Youtube | 
|---|---|---|---|---|
| 1 | Backspace String Compare |  | two pointersstringstacksimulation |  | 
| 2 | Sort Array By Parity |  | arraytwo pointersstring |  | 
| 3 | Shortest Unsorted Continuous Subarray |  | arraytwo pointersstackgreedysortingmonotonic stack |  | 
| 4 | Max Number of K-Sum Pairs |  | arrayhash tabletwo pointerssorting |  | 
| 5 | Implement Stack using Queues |  | stackdesignqueue |  | 
| 6 | Remove All Adjacent Duplicates in String II |  | stringstack |  | 
| 7 | 132 Pattern |  | arraybinary searchstackmonotonic stackordered set |  | 
| 8 | Flatten Nested List Iterator |  | stacktreedepth-first searchdesignqueueiterator |  | 
| 9 | Letter Combinations of a Phone Number |  | hash tablestringbacktracking |  | 
| 10 | Combination Sum III |  | arraybacktracking |  | 
| 11 | Count Sorted Vowel Strings |  | dynamic programming |  | 
| 12 | Permutations II |  | arraybacktracking |  | 
| 13 | Populating Next Right Pointers in Each Node II |  | linked listtreedepth-first searchbreadth-first searchbinary tree |  | 
| 14 | Network Delay Time |  | depth-first searchbreadth-first searchgraphheap(priority queue)shortest path |  | 
| 15 | Deepest Leaves Sum |  | treedepth-first searchbreadth-first searchbinary tree |  | 
| 16 | Shortest Path in Binary Matrix |  | arraybreadth-first searchmatrix |  | 
| 17 | Find a Corresponding Node of a Binary Tree in a Clone of That Tree |  | treedepth-first searchbreadth-first searchbinary tree |  | 
| 18 | Critical Connections in a Network |  | depth-first searchgraphbiconnected component |  | 
| 19 | Longest Increasing Path in a Matrix |  | dynamic programmingdepth-first searchbreadth-first searchgraphtopological sortmemorization |  | 
| 20 | Unique Paths II |  | arraydynamic programmingmatrix |  | 
| 21 | Coin Change |  | arraydynamic programmingbreadth-first search |  | 
| 22 | Palindromic Substrings |  | stringdynamic programming |  | 
| 23 | Ones and Zeroes |  | arraystringdynamic programming |  | 
| 24 | Longest Valid Parentheses |  | stringdynamic programmingstack |  | 
| 25 | Russian Doll Envelopes |  | arraybinary searchdynamic programmingsorting |  | 
| 26 | Number of 1 Bits |  | divide and conquerbit manipulation |  | 
| 27 | Number of Steps to Reduce a Number to Zero |  | mathbit manipulation |  | 
| 28 | Missing Number |  | arrayhash tablemathbinary searchbit manipulationsorting |  | 
| 29 | Maximum Product of Word Lengths |  | arraystringbit manipulation |  | 
| 30 | Divide Two Integers |  | mathbit manipulation |  | 
| 31 | Check If a String Contains All Binary Codes of Size K |  | hash tablestringbit manipulationrolling hashhash function |  | 
| # | Title | Solution | Tags | Youtube | 
|---|---|---|---|---|
| 1 | Running Sum of 1D Array |  | arrayprefix sum |  | 
| 2 | Transpose Matrix |  | arraymatrixsimulation |  | 
| 3 | Range Sum Query 2D - Immutable |  | array |  | 
| 4 | N-Queens |  | arraybacktracking |  | 
| 5 | N-Queens-II |  | backtracking |  | 
| 6 | Intersection of Two Linked Lists |  | hash tablelinked listtwo pointers |  | 
| 7 | Merge Sorted Array |  | arraytwo pointerssorting |  | 
| 8 | Remove Palindromic Subsequences |  | two pointersstring |  | 
| 9 | Two Sum II - Input Array Is Sorted |  | arraytwo pointersbinary search |  | 
| 10 | Longest Substring Without Repeating Characters |  | hash tablestringsliding window |  | 
| 11 | Minimum Operations to Reduce X to Zero |  | arrayhash tablebinary searchsliding windowprefix sum |  | 
| 12 | Maximum Erasure Value |  | arrayhash tablesliding window |  | 
| 13 | Triangle |  | arraydynamic programming |  | 
| 14 | Delete Operation for Two Strings |  | stringdynamic programming |  | 
| 15 | Longest String Chain |  | arrayhash tabletwo pointersstringdynamic programming |  | 
| 16 | Longest Palindromic Substring |  | stringdynamic programming |  | 
| 17 | Binary Tree Cameras |  | dynamic programmingtreedepth-first searchbinary tree |  | 
| 18 | Prefix and Suffix Search |  | stringdesigntrie |  | 
| 19 | Search Suggestions System |  | arraystringtrie |  | 
| 20 | Short Encoding of Words |  | arrayhash tablestringtrie |  | 
| 21 | Furthest Building You Can Reach |  | arraygreedyheap(priority queue) |  | 
| 22 | Kth Largest Element in an Array |  | arraydivide and conquersortingheap(priority queue)quickselect |  | 
| 23 | Course Schedule III |  | arraygreedyheap(priority queue) |  | 
| 24 | Construct Target Array With Multiple Sums |  | arrayheap(priority queue) |  | 
| 25 | Non-decreasing Array |  | array |  | 
| 26 | Maximum Points You Can Obtain from Cards |  | arraysliding windowprefix sum |  | 
| 27 | Partitioning Into Minimum Number Of Deci-Binary Numbers |  | stringgreedy |  | 
| 28 | Minimum Deletions to Make Character Frequencies Unique |  | stringgreedysorting |  | 
| 29 | Queue Reconstruction by Height |  | arraygreedybinary indexed treesegment treesorting |  | 
| 30 | Minimum Moves to Equal Array Elements II |  | string |  | 
| # | Title | Solution | Tags | Youtube | 
|---|---|---|---|---|
| 1 | Maximum Units on a Truck |  | arraygreedysorting |  | 
| 2 | Maximum Area of a Piece of Cake After Horizontal and Vertical Cuts |  | arraygreedysorting |  | 
| 3 | Wiggle Subsequence |  | arraydynamic programminggreedy |  | 
| 4 | Candy |  | arraygreedy |  | 
| 5 | Longest Consecutive Sequence |  | arrayhash tableunion find |  | 
| 6 | Fibonacci Number |  | mathdynamic programmingrecursionmemoization |  | 
| 7 | Interleaving String |  | stringdynamic programming |  | 
| 8 | Paint House III |  | arraydynamic programming |  | 
| 9 | Jump Game VI |  | arraydynamic programmingqueuesliding windowheap(priority queue)monotonic queue |  | 
| 10 | Min Cost Climbing Stairs |  | arraydynamic programming |  | 
| 11 | Binary Tree Right Side View |  | treesdepth-first searchbreadth-first searchbinary tree |  | 
| 12 | Matchsticks to Square |  | arraydynamic programmingbacktrackingbit manipulationbitmask |  | 
| 13 | Binary Tree Level Order Traversal |  | treebreadth-first searchbinary tree |  | 
| 14 | Construct Binary Tree from Preorder and Inorder Traversal |  | arrayhash tabledivide and conquertreebinary tree |  | 
| 15 | Max Area of Island |  | arraydepth-first searchbreadth-first searchunion findmatrix |  | 
| 16 | Out of Boundary Paths |  | dynamic programming |  | 
| 17 | K Inverse Pairs Array |  | dynamic programming |  | 
| 18 | Number of Submatrices That Sum to Target |  | arrayhash tablematrixprefix sum |  | 
| 19 | Pascal's Triangle |  | arraydynamic programming |  | 
| 20 | Number of Matching Subsequences |  | hash tablestringtriesorting |  | 
| 21 | Reverse Linked List II |  | Linked List |  | 
| 22 | Partition List |  | Linked ListTwo Pointers |  | 
| 23 | Count of Smaller Numbers After Self |  | arraybinary searchdivide and conquerbinary indexed treesegment treemerge sortordered set |  | 
| 24 | Search a 2D Matrix II |  | arraybinary searchdivide and conquermatrix |  | 
| 25 | Find First and Last Position of Element in Sorted Array |  | arraybinary search |  | 
| 26 | Lowest Common Ancestor of a Binary Tree |  | treedepth-first searchbinary tree |  | 
| 27 | Flatten Binary Tree to Linked List |  | linked liststacktreedepth-first searchbinary tree |  | 
| 28 | Valid Anagram |  | hash tablestringsorting |  | 
| 29 | Find and Replace Pattern |  | arrayhash tablestring |  | 
| 30 | Word Subsets |  | arrayhash tablestring |  | 
| 31 | Range Sum Query - Mutable |  | arraydesignbinary indexed treesegment tree |  | 
| # | Title | Solution | Tags | Youtube | 
|---|---|---|---|---|
| 1 | Unique Paths |  | mathdynamic programmingcombinatorics |  | 
| 2 | Kth Smallest Element in a Sorted Matrix |  | arraybinary searchsortingheap(priority queue)matrix |  | 
| 3 | My Calendar I |  | binary searchdesignsegment treeordered set |  | 
| 4 | Mirror Reflection |  | mathgeometry |  | 
| 5 | Combination Sum IV |  | arraydynamic programming |  | 
| 6 | Poor Pigs |  | mathdynamic programmingcombinatorics |  | 
| 7 | Count Vowels Permutation |  | dynamic programming |  | 
| 8 | Longest Increasing Subsequence |  | arraybinary searchdynamic programming |  | 
| 9 | Binary Trees With Factors |  | arrayhash tabledynamic programming |  | 
| 10 | Convert Sorted Array to Binary Search Tree |  | arraydivide and conquertreebinary search treebinary search |  | 
| 11 | Validate Binary Search Tree |  | treedepth-first searchbinary search treebianry tree |  | 
| 12 | Lowest Common Ancestor of a Binary Search Tree |  | treedepth-first searchbinary search treebianry tree |  | 
| 13 | Substring with Concatenation of All Words |  | hash tablestringsliding window |  | 
| 14 | Word Ladder II |  | hash tablestringbacktrackingbreadth-first search |  | 
| 15 | Roman to Integer |  | hash tablemathstring |  | 
| 16 | First Unique Character in a String |  | hash tablestringqueuecounting |  | 
| 17 | Unique Morse Code Words |  | arrayhash tablestring |  | 
| 18 | Reduce Array Size to The Half |  | arrayhash tablegreedysortingheap(priority queue) |  | 
| 19 | Split Array into Consecutive Subsequences |  | arrayhash tablegreedyheap(priority queue) |  | 
| 20 | Minimum Number of Refueling Stops |  | arraydynamic programminggreedyheap(priority queue) |  | 
| 21 | Stamping The Sequence |  | stringstackgreedyqueue |  | 
| 22 | Power of Four |  | mathbit manipulationrecursion |  | 
| 23 | Palindrome Linked List |  | linked listtwo pointersstackrecursion |  | 
| 24 | Power of Three |  | mathrecursion |  | 
| 25 | Ransom Note |  | hash tablestringcounting |  | 
| 26 | Reordered Power of 2 |  | mathstringcountingenumeration |  | 
| 27 | Max Sum of Rectangle No Larger Than K |  | arraybinary searchmatrixprefix sumordered set |  | 
| 28 | Sort the Matrix Diagonally |  | arraysortingmatrix |  | 
| 29 | Number of Islands |  | arraydepth-first searchbreadth-first searchunion findmatrix |  | 
| 30 | Rotate Image |  | arraymathmatrix |  | 
| 31 | Pacific Atlantic Water Flow |  | arraydepth-first searchbreadth-first searchmatrix |  | 
