Special thanks to QMZiT
This is practise repo of RMIT 2019 Algorithm Analysis.
Hands-on training on real coding interview questions, for fun (-:
- ⏱ How to ask question
✈️ Where to ask question- 👨💻👩💻 Am I asking stupid question ?
- There is no stupid question, if you think something is not clear, ask away in where to ask question.
- HTML Standard. HTML Spec
- Java Style Guide. Google Java Guide
- Swift Style Guide. Google Swift Guide
- Array
- String
- Linked List
- Stack
- Tree
- Dynamic programming
- Depth-first search
- Math
- Search
- Sort
- Union Find
| Title | Solution | Difficulty | Time | Space |
|---|---|---|---|---|
| Reverse Linked List | Java, Swift | Easy | O(n) | O(1) |
| Palindrome Linked List | Java, Swift | Easy | O(n) | O(1) |
| Reverse Nodes In k-Groups | Java, Swift | Hard | O(n) | O(1) |
| Partition List | Java, Swift | Medium | O(n) | O(1) |
| Reverse Linked List II | Java, Swift | Easy | O(n) | O(1) |
| Swap Two Nodes In Linked List | Java, Swift | Easy | O(n) | O(1) |
| Merge Two Sorted Lists | Java, Swift | Easy | O(n) | O(1) |
| Swap Nodes in Pairs | Java, Swift | Medium | O(n) | O(1) |
| Remove Linked List Elements | Java, Swift | Easy | O(n) | O(1) |
| Remove Duplicates from Sorted List | Swift | Easy | O(n) | O(1) |
| Remove Duplicates from Sorted List II | Swift | Medium | O(n) | O(1) |
| Remove Nth Node From End of List | Swift | Easy | O(n) | O(1) |
| Odd Even Linked List | Swift | Medium | O(n) | O(1) |
| Rotate List | Java, Swift | Medium | O(n) | O(1) |
| Reorder List | Java, Swift | Medium | O(n) | O(1) |
| Copy List With Random Pointer | Java, Swift | Medium | O(n) | O(1) |
| Linked List Cycle | Java, Swift | Easy | O(n) | O(1) |
| Sort List | Java, Swift | Medium | O(nlogn) | O(1) |
| Merge k Sorted Lists | Swift | Hard | O(mlogn) | O(1) |
| Title | Solution | Difficulty | Time | Space |
|---|---|---|---|---|
| Valid Parentheses | Java, Swift | Easy | O(n) | O(n) |
| Longest Valid Parentheses | Swift | Hard | O(n) | O(n) |
| Evaluate Reverse Polish Notation | Swift | Medium | O(n) | O(n) |
| Simplify Path | Swift | Medium | O(n) | O(n) |
| Remove K Digits | Swift | Medium | O(n) | O(n) |
| Ternary Expression Parser | Swift | Medium | O(n) | O(n) |
| Binary Tree Preorder Traversal | Swift | Medium | O(n) | O(n) |
| Binary Tree Inorder Traversal | Swift | Medium | O(n) | O(n) |
| Binary Tree Postorder Traversal | Swift | Hard | O(n) | O(n) |
| Title | Solution | Difficulty | Time | Space | Docs |
|---|---|---|---|---|---|
| Heap | Java, Swift | Easy | O(h) | O(n) | Docs |
| AVL Tree | Java, Swift | Easy | O(h) | O(n) | Docs |
| Title | Solution | Difficulty | Time | Space | Docs |
|---|---|---|---|---|---|
| Depth First Search | Java, Swift | Easy | N/A | N/A | Docs |
| Binary Search | Java, Swift | Easy | O(logn) | O(1) | |
| Binary Search Tree | Java, Swift | Easy | O(logn) | O(1) | Docs |
| First Position of Target | Java, Swift | Easy | O(logn) | O(1) | |
| Last Position of Target | Java, Swift | Easy | O(logn) | O(1) | |
| First Bad Version | Java, Swift | Easy | O(logn) | O(1) |
| Title | Solution | Difficulty | Time | Space | Docs |
|---|---|---|---|---|---|
| Merge Sort | Java, Swift | Easy | O(nlogn) | O(n) | Docs |
| Quick Sort | Java, Swift | Easy | O(nlogn) | O(1) | Docs |
| Selection Sort | Java, Swift | Easy | O(n^2) | O(1) | Docs |
| Insertion Sort | Java, Swift | Easy | O(n^2) | O(1) | Docs |

