Algorithm Training from AlgoMonster
- Add a new Repository in the github
- Clone to Codespace and auto prepared the develop environment
- Add extention for Git and Kotlin
- Install Gradle plugin in the Terminal by commond of
sdk install gradle
$ sdk install gradle ==== BROADCAST ================================================================= 2022-08-22: neo4jmigrations 1.10.0 available on SDKMAN! https://github.com/michael-simons/neo4j-migrations/releases/tag/1.10.0 2022-08-19: asciidoctorj 2.5.5 available on SDKMAN! 2022-08-19: micronaut 3.6.1 available on SDKMAN! ================================================================================ gradle 7.5.1 is already installed.
- Init the Kotlin project with gradle Building Kotlin Applications Sample
- Generated folder as following:
├── gradle │ └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── app ├── build.gradle └── src ├── main │ └── kotlin │ └── demo │ └── App.kt └── test └── kotlin └── demo └── AppTest.kt
- Stack
- Queue
- Hashmap
- Sorting
- Advanced Sorting Algorighms
- Merge Sort
- Quick Sort
- Vanilla Binary Search
- Finding the Boundary
- First Element Not Smaller than Target
- First Occurrence
- Square Root
- Minimum in Rotated Sorted Array
- Peak of Mountain Array
- Capacity to Ship Packages Within D Days
- Newspapers
- Recursion Reveiw
- Introduction to Tree Data Struture
- DFS Fundamentals
- Introduction
- Max Depth of A Tree
- Visible Tree Node
- Balanced Binary Tree
- Serializing and Deserializing Binary Tree
- Binary Search Tree Info
- Valid Binary Seach Tree
- Insert Into BST
- Invert Binary Tree
- Lowest Common Ancestor of a Binary Search Tree
- Lowest Common Ancestor
- DFS with States
- Backtracking Fundamentals
- Permutations
- Letter Combinations of A Phone Number
- Memoization Intro
- Word Break
- Decode Ways
- Pruning Introduction
- Palindrome Partitioning
- Combination Sum
- Subsets
- BFS Fundamentals
- Binary Tree Level Order Traversal
- Binary Tree ZigZag Level Order Traversal
- Binary Tree Right Side View
- Binary Tree Min Depth
- Graph Fundamentals
- BFS on Graphs
- DFS on Graphy
- BFS or DFS
- Shortest Path
- Matrix as Graph
- Flood Fill
- Number of Islands
- Knight Miniimum Moves
- Walls and Gates / Zombie in Matrix
- Open the Lock
- Word Ladder
- Sliding Puzzle
- Topological Sort Introduction
- Task Scheduling
- Reconstructing Sequence
- Task Scheduling 2
- Alien Dictionary
- Course Schedule
- Dijkastra's Algorithm | Shortest Path in a Weighted Graph
- Uniform Cost Search | Shortest Path in a Weighted Graph
- Introdution to Minimum Spanning Tree
- Minimum Spanning Tree | Forests
- Two Pointers Introduction
- Remove Duplicates
- Middle of a Linked List
- Move Zeros
- Two Sum Sorted
- Valid Palindrome
- Longest Substring without Repeating Characters
- Find All Anagrams in a String
- Minimum Window Substring
- Subarray Sum
- Linked List Cycle
- Get the Maximum Score
- Trapping Rain Water
- Heap Fundamentals
- K Closest points
- Merge K Sorted Lists
- Kth Largest ELement in an Array
- Kth Smallest Eletment in a Sorted Matrix
- Reorganze String
- Ugly Number
- Median of Data Stream
- Dynamic Programming Introduction
- Knapsack, Weight-Only
- Partion to Two Equal Sum Subsets
- Triangle
- Coin Change
- Coin Change 2
- Number of Robots Paths
- Minimal Path Sum
- Maximal Square
- Longest Increasing Subsquences
- Russian Doll Envelopes
- Largest Divisible Subset
- Perfect Squares
- Divisor Game
- Interval Dynamic Programming | Coin Game
- Festival Game
- Longest Common Subsquence
- Edit Distance
- Delete String
- 0-1 Knapsack
- Bitmask Introduction
- Min Cost to Visit Every Node
- DSU/Union Find Fundamentals
- DSU Introduction Problem
- Size of Connect Components
- Umbristan | Reverse Union Find
- Merge User Accounts
- Number of Connected Components
- Trie Introduction
- Autocomplete
- Prefix Count
- LRU Cache
- Segment Tree
- Range max