hankchen1728 / Leetcode-cpp

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

My Leetcode Playgrounds in C++

Leetcode Stats

How to Run

  • 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/*

Problems

# 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

References

  1. What are the environments for the programming languages?

About


Languages

Language:C++ 99.5%Language:Makefile 0.5%