- Compiler:
Clang++
Run the command make <Problem ID>
to compile the .cpp file.
For example, for the problem 0002_add_two_numbers, run
# Run the following command to create the problem folder with template
$ make problem 2. Add Two Numbers
cp -r ./src/Template ./src/0002_add_two_numbers
# Compiling the source code and generating binary file
$ make 0002
Compiling binary file: bin/0002_add_two_numbers
# Then running the compilied binary file to see the result of test cases
$ ./bin/0002_add_two_numbers
# Clean all compilied files under ./bin/
$ make clean
rm -rf ./bin/*
# | Title | Solution | Difficulty | Tags |
---|---|---|---|---|
0001 | Two Sum | C++ | Easy | Array ,Hash Table |
0002 | Add Two Numbers | C++ | Medium | Linked List ,Recursion |
0003 | Longest Substring Without Repeating Characters | C++ | Medium | Hash Table ,Sliding Window |
0004 | Median of Two Sorted Arrays | C++ | Hard | Array ,Binary Search ,Divide and Conquer |
0005 | Longest Palindromic Substring | C++ | Medium | Dynamic Programming |
0006 | ZigZag Conversion | C++ | Medium | String |
0007 | Reverse Integer | C++ | Easy | Math |
0008 | String to Integer (atoi) | C++ | Medium | String |
0009 | Palindrome Number | C++ | Easy | Math |
0011 | Container With Most Water | C++ | Medium | Array ,Two Pointers ,Greedy |
0019 | Remove Nth Node From End of List | C++ | Medium | Linked List ,Two Pointers |
0020 | Valid Parentheses | C++ | Easy | String ,Stack |
0021 | Merge Two Sorted Lists | C++ | Easy | Linked List ,Recursion |
0023 | Merge k Sorted Lists | C++ | Hard | Linked List ,Divide and Conquer ,Heap (Priority Queue) ,Merge Sort |
0024 | Swap Nodes in Pairs | C++ | Medium | Linked List ,Recursion |
0031 | Next Permutation | C++ | Medium | Array ,Two Pointers |
0033 | Search in Rotated Sorted Array | C++ | Medium | Array , Binary Search |
0034 | Find First and Last Position of Element in Sorted Array | C++ | Medium | Array ,Binary Search |
0035 | Search Insert Position | C++ | Easy | Array ,Binary Search |
0039 | Combination Sum | C++ | Medium | Array ,Backtracking |
0043 | Multiply Strings | C++ | Medium | Math ,String ,Simulation |
0046 | Permutations | C++ | Medium | Array ,Backtracking |
0051 | N-Queens | C++ | Hard | Array , Backtracking |
0052 | N-Queens II | C++ | Hard | Backtracking |
0053 | Maximum Subarray | C++ | Easy | Array ,Divide and Conquer ,Dynamic Programming |
0054 | Spiral Matrix | C++ | Medium | Array ,Matrix ,Simulation |
0059 | Spiral Matrix II | C++ | Medium | Array ,Matrix ,Simulation |
0061 | Rotate List | C++ | Medium | Linked List ,Two Pointers |
0062 | Unique Paths | C++ | Medium | Math ,Dynamic Programming ,Combinations |
0063 | Unique Paths II | C++ | Medium | Array ,Dynamic Programming ,Matrix |
0070 | Climbing Stairs | C++ | Easy | Math ,Dynamic Programming ,Memoization |
0071 | Simplify Path | C++ | Medium | String ,Stack |
0074 | Search a 2D Matrix | C++ | Medium | Array ,Binary Search ,Matrix |
0077 | Combinations | C++ | Medium | Array ,Backtracking |
0078 | Subsets | C++ | Medium | Array ,Backtracking ,Bit Manipulation |
0080 | Remove Duplicates from Sorted Array II | C++ | Medium | Array ,Two Pointers |
0088 | Merge Sorted Array | C++ | Easy | Array ,Two Pointers ,Sorting |
0096 | Unique Binary Search Trees | C++ | Medium | Math ,Dynamic Programming ,Tree ,Binary Search Tree ,Binary Tree |
0115 | Distinct Subsequences | C++ | Hard | String ,Dynamic Programming |
0116 | Populating Next Right Pointers in Each Node | C++ | Medium | Tree ,Depth-First Search ,Breadth-first Search ,Binary Tree |
0118 | Pascal's Triangle | C++ | Easy | Array ,Dynamic Programming |
0120 | Triangle | C++ | Medium | Array ,Dynamic Programming |
0121 | Best Time to Buy and Sell Stock | C++ | Easy | Array ,Dynamic Programming |
0122 | Best Time to Buy and Sell Stock II | C++ | Medium | Array ,Dynamic Programming ,Greedy |
0136 | Single Number | C++ | Easy | Array ,Bit Manipulation |
0137 | Single Number II | C++ | Medium | Array ,Bit Manipulation |
0141 | Linked List Cycle | C++ | Easy | Hash Table ,Linked List ,Two Pointers |
0147 | Insertion Sort List | C++ | Medium | Linked List ,Sorting |
0152 | Maximum Product Subarray | C++ | Medium | Array ,Dynamic Programming |
0153 | Find Minimum in Rotated Sorted Array | C++ | Medium | Array ,Binary Search |
0160 | Intersection of Two Linked Lists | C++ | Easy | Hash Table ,Linked List ,Two Pointers |
0162 | Find Peak Element | C++ | Medium | Array ,Binary Search |
0165 | Compare Version Numbers | C++ | Medium | Two Pointers ,String |
0167 | Two Sum II - Input array is sorted | C++ | Easy | Array ,Two Pointers ,Binary Search |
0169 | Majority Element | C++ | Easy | Array ,Hash Table ,Divide and Conquer ,Sorting ,Counting |
0171 | Excel Sheet Column Number | C++ | Easy | Math ,String |
0189 | Rotate Array | C++ | Medium | Array ,Math ,Two Pointers |
0190 | Reverse Bits | C++ | Easy | Divide and Conquer ,Bit Manipulation |
0191 | Number of 1 Bits | C++ | Easy | Bit Manipulation |
0198 | House Robber | C++ | Medium | Array ,Dynamic Programming |
0203 | Remove Linked List Elements | C++ | Easy | Linked List ,Recursion |
0206 | Reverse Linked List | C++ | Medium | Linked List ,Recursion |
0213 | House Robber II | C++ | Medium | Array ,Dynamic Programming |
0215 | Kth Largest Element in an Array | C++ | Medium | Array ,Divide and Conquer ,Sorting ,Heap (Priority Queue) ,Quickselect |
0217 | Contains Duplicate | C++ | Easy | Array ,Hash Table ,Sorting |
0231 | Power of Two | C++ | Easy | Math ,Bit Manipulation ,Recursion |
0238 | Product of Array Except Self | C++ | Medium | Array ,Prefix Sum |
0258 | Add Digits | C++ | Easy | Math ,Simulation ,Number Theory |
0260 | Single Number III | C++ | Medium | Array ,Bit Manipulation |
0278 | First Bad Version | C++ | Easy | Binary Search ,Interactive |
0282 | Expression Add Operators | C++ | Hard | Math ,String ,Backtracking |
0283 | Move Zeroes | C++ | Easy | Array ,Two Pointers |
0289 | Game of Life | C++ | Medium | Array ,Matrix ,Simulation |
0304 | Range Sum Query 2D - Immutable | C++ | Medium | Array ,Design ,Matrix ,Prefix Sum |
0328 | Odd Even Linked List | C++ | Medium | Linked List |
0331 | Verify Preorder Serialization of a Binary Tree | C++ | Medium | String ,Stack ,Tree ,Binary Tree |
0338 | Counting Bits | C++ | Easy | Dynamic Programming ,Bit Manipulation |
0344 | Reverse String | C++ | Easy | Two Pointers ,String ,Recursion |
0347 | Top K Frequent Elements | C++ | Medium | Array ,Hash Table ,Divide and Conquer ,Sorting ,Heap (Priority Queue) ,Bucket Sort ,Counting ,Quickselect |
0350 | Intersection of Two Arrays II | C++ | Easy | Array ,Hash Table ,Two Pointers ,Binary Search ,Sorting |
0367 | Valid Perfect Square | C++ | Easy | Math ,Binary Search |
0368 | Largest Divisible Subset | C++ | Medium | Array ,Math ,Dynamic Programming ,Sorting |
0374 | Guess Number Higher or Lower | C++ | Easy | Binary Search ,Interactive |
0378 | Kth Smallest Element in a Sorted Matrix | C++ | Medium | Array ,Binary Search ,Sorting ,Heap (Priority Queue) ,Matrix |
0389 | Find the Difference | C++ | Easy | Hash Table ,String ,Bit Manipulation ,Sorting |
0413 | Arithmetic Slices | C++ | Medium | Array ,Dynamic Programming |
0416 | Partition Equal Subset Sum | C++ | Medium | Array ,Dynamic Programming |
0438 | Find All Anagrams in a String | C++ | Medium | Hash Table ,String ,Sliding Window |
0441 | Arranging Coins | C++ | Medium | Math ,Binary Search |
0442 | Find All Duplicates in an Array | C++ | Medium | Array ,Hash Table |
0448 | Find All Numbers Disappeared in an Array | C++ | Easy | Array ,Hash Table |
0454 | 4Sum II | C++ | Medium | Array ,Hash Table |
0461 | Hamming Distance | C++ | Easy | Bit Manipulation |
0485 | Max Consecutive Ones | C++ | Easy | Array |
0525 | Contiguous Array | C++ | Medium | Array ,Hash Table ,Prefix Sum |
0532 | K-diff Pairs in an Array | C++ | Medium | Array ,Hash Table ,Two Pointers ,Binary Search ,Sorting |
0540 | Single Element in a Sorted Array | C++ | Medium | Array ,Binary Search |
0542 | 01 Matrix | C++ | Medium | Array ,Dynamic Programming ,Breadth-first Search ,Matrix |
0557 | Reverse Words in a String III | C++ | Easy | Two Pointers ,String |
0560 | Subarray Sum Equals K | C++ | Medium | Hash Table ,Prefix Sum |
0566 | Reshape the Matrix | C++ | Easy | Array ,Matrix ,Simulation |
0567 | Permutation in String | C++ | Medium | Hash Table ,Two Pointers ,String ,Sliding Window |
0668 | Kth Smallest Number in Multiplication Table | C++ | Hard | Binary Search |
0680 | Valid Palindrome II | C++ | Easy | Two Pointers ,String ,Greedy |
0682 | Baseball Game | C++ | Easy | Array ,Stack ,Simulation |
0695 | Max Area of Island | C++ | Medium | Array ,Depth-First Search ,Breadth-first Search ,Union Find ,Matix |
0703 | Kth Largest Element in a Stream | C++ | Easy | Tree ,Design ,Binary Search Tree ,Heap (Priority Queue) ,Binary Tree ,Data Stream |
0704 | Binary Search | C++ | Easy | Array ,Binary Search |
0733 | Flood Fill | C++ | Easy | Array ,Depth-First Search ,Breadth-first Search ,Matrix |
0739 | Daily Temperatures | C++ | Medium | Array ,Stack ,Monotonic Stack |
0740 | Delete and Earn | C++ | Medium | Array ,Hash Table ,Dynamic Programming |
0764 | Largest Plus Sign | C++ | Medium | Array ,Dynamic Programming |
0784 | Letter Case Permutation | C++ | Medium | String ,Backtracking ,Bit Manipulation |
0797 | All Paths From Source to Target | C++ | Medium | Backtracking ,Depth-First Search ,Breadth-First Search ,Graph |
0799 | Champagne Tower | C++ | Medium | Dynamic Programming |
0852 | Peak Index in a Mountain Array | C++ | Easy | Array ,Binary Search |
0876 | Transpose Matrix | C++ | Easy | Array ,Matrix ,Simulation |
0876 | Middle of the Linked List | C++ | Easy | Linked List ,Two Pointers |
0878 | Nth Magical Number | C++ | Hard |
Math ,Binary Search |
0917 | Reverse Only Letters | C++ | Easy | Two Pointers ,String |
0923 | 3Sum With Multiplicity | C++ | Medium | Array ,Hash Table ,Two Pointers ,Sorting ,Counting |
0940 | Distinct Subsequences II | C++ | Hard | String , Dynamic Programming |
0976 | Largest Perimeter Triangle | C++ | Easy | Array ,Math ,Greedy ,Sorting |
0977 | Squares of a Sorted Array | C++ | Easy | Array ,Two Pointers ,Sorting |
0978 | Longest Turbulent Subarray | C++ | Medium | Array ,Dynamic Programming ,Sliding Window |
0980 | Unique Paths III | C++ | Hard | Array ,Backtracking ,Bit Manipulation ,Matrix |
0986 | Interval List Intersections | C++ | Medium | Array ,Two Pointers |
0994 | Rotting Oranges | C++ | Medium | Array ,Breadth-first Search ,Matrix |
1046 | Last Stone Weight | C++ | Easy | Array ,Heap (Priority Queue) |
1137 | N-th Tribonacci Number | C++ | Easy | Math ,Dynamic Programming ,Memoization |
1189 | Maximum Number of Balloons | C++ | Easy | Hash Table ,String ,Counting |
1217 | Minimum Cost to Move Chips to The Same Position | C++ | Easy | Array ,Math ,Greedy |
1260 | Shift 2D Grid | C++ | Easy | Array ,Matrix ,Simulation |
1275 | Find Winner on a Tic Tac Toe Game | C++ | Easy | Array ,Hash Table ,Matrix ,Simulation |
1281 | Subtract the Product and Sum of Digits of an Integer | C++ | Easy | |
1288 | Remove Covered Intervals | C++ | Medium | Array ,Sorting |
1290 | Convert Binary Number in a Linked List to Integer | C++ | Easy | Linked List ,Math |
1293 | Shortest Path in a Grid with Obstacles Elimination | C++ | Hard | Array ,Breadth-first Search ,Matrix |
1306 | Jump Game III | C++ | Medium | Array ,Depth-First Search ,Breadth-First Search |
1328 | Break a Palindrome | C++ | Medium | String ,Greedy |
1332 | Remove Palindromic Subsequences | C++ | Easy | Two Pointers ,String |
1359 | Count All Valid Pickup and Delivery Options | C++ | Hard | Math ,Dynamic Programming ,combinations |
1413 | Minimum Value to Get Positive Step by Step Sum | C++ | Easy | Array ,Prefix Sum |
1442 | Count Triplets That Can Form Two Arrays of Equal XOR | C++ | Medium | Array ,Hash Table ,Math ,Bit Manipulation ,Prefix Sum |
1446 | Consecutive Characters | C++ | Easy | String |
1480 | Running Sum of 1d Array | C++ | Easy | Array , Prefix Sum |
1491 | Average Salary Excluding the Minimum and Maximum Salary | C++ | Easy | Array ,Sorting |
1523 | Count Odd Numbers in an Interval Range | C++ | Easy | Math |
1658 | Minimum Operations to Reduce X to Zero | C++ | Medium | Array ,Hash Table ,Binary Search ,Sliding Window ,Prefix Sum |
1672 | Richest Customer Wealth | C++ | Easy | Array , Matrix |
1679 | Max Number of K-Sum Pairs | C++ | Medium | Array ,Hash Table ,Two Pointers ,Sorting |
1711 | Count Good Meals | C++ | Medium | Array , Hash Table |
1721 | Swapping Nodes in a Linked List | C++ | Medium | Linked List ,Two Pointers |
1987 | Number of Unique Good Subsequences | C++ | Hard | String ,Dynamic Programming |