| Name | Solution | Level | Notes |
|---|---|---|---|
| Boats to Save People | Link | Medium | Sort the list and check elements from the beginning and end |
| Container with Most Water | Link | Medium | Finding max area by checking elements from two sides of array. max(temp,max_area). If height[left] < height [right] increase left |
| Find First and Last Position of Element in Sorted Array | Link | Medium | Write two functions one for finding first pos, other one is for finding last pos. Use binary search |
| First Bad Version | Link | Easy | Sorted array find value just like binary search |
| Longest Substring without Repeating Elements | Link | Medium | Use two pointers and dict |
| Move Zeroes | Link | Easy | Two for loops; one of them is for overwriting all elements by non-zero elements, the other one is for adding zeroes |
| Name | Solution | Level | Notes |
|---|---|---|---|
| Add Two Numbers | Link | Medium | Estimate depth, calculate number itself, sum them up, return -1. Use carry approach simple, easy. My explanation on Leetcode |
| Linked List Cycle | Link | Easy | Initialize two pointers, move one of them by 1, other one by 2. If there is a cycle, eventually those two pointers show the same value. Tortoise & Hare, Floyd's algorithm My explanation on Leetcode |
| Merge Two Sorted Lists | Link | Easy | Compare two elements at the same time, add rest of them |
| Reverse Linked List | Link | Easy | Utilize iteration method to reverse linked list. Use three pointers prev,head and next and change head's next position to prev and update each element's place. |
| Name | Solution | Level | Notes |
|---|---|---|---|
| 4Sum II | Link | Medium | The first two elements' sum must equal to (-1) of last two elements' sum |
| Contains Duplicate | Link | Easy | Sets. My explanation on Leetcode |
| Group Anagrams | Link | Medium | Sort strings and use them as keys |
| LRU Cache | Link | Hard | Use Deque and Map to find solution |
| Majority Element | Link | Easy | Count the occurrence of items solve the question |
| Two Sum | Link | Medium | Use remaining number as a key. If you need to have 9, check remaining values 7,5,3 for 2,4,6 respectively. If you find the same remaining value in your list, you are done. |
| Name | Solution | Level | Notes |
|---|---|---|---|
| Add Binary | Link | Medium | Check binary rules |
| Count Primes | Link | Easy | Boolean array, iterate 2..sqrt(2) and set n*n |
| Missing Number | Link | Easy | (n * (n + 1))/ 2 |
| Robot Return to Origin | Link | Easy | Calculate X & Y coordinate seperately |
| Single Number | Link | Easy | Use sets, subtract 2*(set_version) from original one |
Algorithm Training Beginner Set [Official solutions]
| Problem & Solution |
|---|
| Easy Magic Trick |
| Ice Cream Yum Yum |
| Harun & Sami |
| Hopscotch |
| Meme Man |
| Merge Sort |
| Stringer Things |
| Stickers |
| Usain Bolt |
| The Pit |
| Name | Example | Notes |
|---|---|---|
| Doubly Linked List | Link | Next and previous |
| Singly Linked List | Link | Only next Insertion & Deletion O(1) |
| Name | Example | Notes |
|---|---|---|
| Binary Search | Link | Must be sorted, Divide the array by 2 and iterate |
| Sliding Window | Link |