Coding Practice. Just for fun.
- Edit Distance
- House Robber
- Maximum Subarray
- Maximum Product Subarray
- Best Time to Buy and Sell Stock
- Regular Expression Matching
- Word Break
- Wildcard Matching
- Min Cost Climbing Stairs
- Coin Change
- Ways For Coin Change
- Target Sum
- Burst Ballons
- Perfect Squares
- Seats Game
- N Queens
- Generate Parentheses
- All Permutations of A String
- Permutations of an Array
- Subsets
- Combination Sum
- Palindrome Partition
- Combinations
- Generate All Strings With Wildcard
- All Possible Strings
- Longest substring without repeating characters
- Find All Anagrams in a String
- Minimum Window Substring
- Permutation in String
- Fruit into Baskets
- Max Sliding Window
- Longest Substring With At Most Two Distinct Characters
- Distinct Absolute Value
- Three Sum
- Scheduling/Job Sequencing
- Huffman Coding
- Task Scheduler
- Partition Labels
- Guess The Word
- Minimum Number of Arrows to Burst Balloons
- Quick Sort
- Merge Sort
- Insertion Sort
- Shell Sort
- Bubble Sort
- Radix Sort
- Selection Sort
- Heap Sort
- Binary Search
- K-th Largest Element
- Search in Rotated Sorted Array
- Counting Sort
- Alien Dictionary
- Course Schedule
- Sqrt
- Find Duplicate Number
- Search Insert Position
- Find Peak Element
- Lower Bound and Upper Bound
- Quick Sort Doubly LinkedList
- Bubble Sort Doubly LinkedList
- Inverse Pairs
- Reorder Array
- Word Search
- Number of Islands
- Flood Fill
- Search A 2D Matrix II
- Max Area of Island
- Maximal Square
- Unique Path
- Unique Path II
- Rotate Image
- Validate Sudoku
- Sudoku Solver
- Longest Palindrome
- Longest Palindrome Substring
- Longest Palindrome Subsequence
- All Palindrome Partitions
- Palindrome Pairs
- Longest Consecutive Sequence
- Longest Increasing Subsequence
- Longest Common Subsequence
- Longest Common Substring
- All Palindrome Permutations of a String
- Palindromic Substrings
- String Replace String
- Valid Number
- Big Integer Sum
- First Unique Char In Stream
- Rotate String/Array
- Word Ladder
- Word Ladder Unique Path
- Word Ladder II Best
- Word Break II
- < 8000 a href="https://github.com/ZRonchy/Algorithms/blob/master/src/main/java/submitted/RemoveInvalidParentheses.java">Remove Invalid Parentheses
- Valid Parenthesis String
- Expression Add Operators
- All Paths From Source to Target
- Invert Binary Tree
- Find Max Depth of a Binary Tree
- Find Min Depth of a Binary Tree
- Path Sum
- Path Sum II
- Path Sum III
- Path Sum IV
- Same Tree
- Symmetric Tree
- Flip Equivalent Binary Trees
- Serialize And Deserialize Binary Tree
- Preorder Tree Traversal
- Inorder Tree Traversal
- Postorder Tree Traversal
- Binary Tree Vertical Order Traversal
- Binary Tree Level Order Traversal
- Binary Tree Zigzag Level Order Traversal
- Construct Binary Tree from Preorder and Inorder Traversal
- Construct Binary Tree from Postorder and Inorder Traversal
- Binary Tree Maximum Path Sum
- Balanced Binary Tree
- Mirror Binary Tree
- Inorder Successor in BST
- Merge Two Binary Trees
- Subtree With Maximum Average
- Count Of Smaller Numbers After Self
- Diameter Of Binary Tree
- Find Distance Between Nodes In BST
- Create Binary Tree With Minimum Height
- Convert BST To Greater Tree
- Subtree Of Another Tree
- Count Nodes In Range BST
- Find Inorder Successor
- Convert BST To Doubly Linked List
- Is Array Postorder Traversal
- Flatten Binary Tree To LinkedList
- Meeting Rooms
- Meeting Rooms II
- Insert Interval
- Merge Interval
- Minimum Number of Arrows to Burst Balloons
- Reorder List
- Swap Nodes in Pairs
- Palindrome Linked List
- Reverse Second Half Of Linked List
- Reverse Nodes in k-Group
- Sort List
- Detect LinkedList Cycle
- Find Node Begin At Loop LinkedList
- First Common Node In Two LinkedLists
- Partition List
- Detect And Remove Loop
- Remove Duplicate Nodes
- Find Kth to Tail
- Add and Search Word
- LRU Cache
- Insert Delete GetRandom O(1)
- Implement Trie (Prefix Tree)
- Find Median From Data Stream
- Implement Queue Using Stacks
- Implement Stack Using Queues
- Roman to Integer
- Integer to Roman
- Integer to English Words
- Multiply Strings
- String to Integer (atoi)
- Base 7
- Power Of Ten
- Power Of Two
- GCD and LCM
- Division Without Divide Operator
- Count Primes
- Find All Numbers Disappeared in an Array
- Find Median And Mean In Unsorted Array
- Product Of Array Except Self
- Ugly Number
- Find Missing Positive
- Find Duplicate Number
- Flatten Nested List Iterator
- Min Stack
- Max Stack
- Largest Rectangle In Histogram
- Basic Calculator
- Basic Calculator II
- Baseball Game
- Next Greater Element
- Daily Temperatures
- Sort Stack in Ascending Order
- Longest Valid Parentheses
- Alien Dictionary
- Topological Sorts of a DAG Recursive
- Topological Sorts of a DAG Non Recursive
- Detect Cycle BFS and DFS Topological Sort
- Shortest Path in DAG
- Longest Path in DAG
- All Paths From Source to Target
- Evaluate Division
- Minimum spanning Tree
- Is Graph Bipartite
- M Coloring Problem
- Dijkstra Shortest Path
- Shortest Path BFS
- DFS Traverse Graph
- Detect Cycle in DAG DFS
- Detect Cycle in DAG BFS
- Detect Cycle in Undirected Graph BFS
- Find Median From Data Stream
- Top K Frequent Element
- Merge K Sorted List
- The Skyline Problem
- Minimum Cost ToHire K Workers
- Median in unsorted array
- Is Anagram
- Is Palindrome
- Valid Parenthesis
- Two Cases Palindrome
- Reverse Singly List
- Reverse Doubly Linked List
- Binary Search
- Binary Search II
- Create Binary Search Tree
- Union Find
- Topology Sort
- Segment Tree
- Monotonic Queue
- Monotonic Stack
- Binary Tree Template
- Prefix Sum
- Random Select From Rectangle
- Adjacency Matrix Graph
- Preorder Tree Traversal
- Inorder Tree Traversal
- Postorder Tree Traversal