As a student I solved many leetcode problems but unable to identify the most efficient solution and this repo will help you with explanation and data structure wise questions. It's easy to access and time saver before the interview
Often careercup contains buggy code and most inefficient algorithms. I try to add an effcient one with explanation in my own words.
Feel free to add issues, create pull requests and be a contributer.
- Bit Manipulation
- Arrays
- String
- HashMap
- Trees
- Dynamic-Programming
- Depth First Search
- LinkedList
- TwoPointers
- SQL
| Website | Title | Solution | Time | Space | Difficulty | Note |
|---|---|---|---|---|---|---|
| Careercup | Permutation Casewise | Java | O(2^n) | O(1) | Medium | |
| Leetcode | 461. Hamming Distance | Java | O(n) | O(1) | Easy | |
| Leetcode | 338. Counting Bits | Java | O(nk) | O(n) | Medium | |
| Leetcode | 190. Reverse Bits | Java | O(n) | O(n) | Easy | |
| Leetcode | 191. Number of 1 Bits | Java | O(n) | O(1) | Easy | |
| Leetcode | 401. Binary Watch | Java | O(n) | O(1) | Easy |
| Website | Title | Solution | Time | Space | Difficulty | Note |
|---|---|---|---|---|---|---|
| Leetcode | 1. Two Sum | Java | O(n) | O(n) | Easy | |
| Leetcode | 359. Logger Rate Limiter | Java | O(n) | O(n) | Easy | |
| Leetcode | 535. Encode and Decode TinyURL | Java | O(n) | O(1) | Medium | |
| Leetcode | 266. Palindrome Permutation | Java | O(n) | O(1) | Easy | |
| Leetcode | 525. Contiguous Array | Java | O( ) | O( ) | Medium | |
| Leetcode | 170. Two Sum III - Data structure design | Java | O(n) | O(n) | Medium | |
| Leetcode | 594. Longest Harmonious Subsequence | Java | O(n) | O(n) | Easy | |
| Leetcode | 532. K-diff Pairs in an Array | Java | O(n) | O(n) | Easy | |
| Leetcode | 506. Relative Ranks | Java | O(n) | O(n) | Easy | |
| Leetcode | 677. Map Sum Pairs | Java | O(n) | O(1) | Easy | |
| Leetcode | 219. Contains Duplicate II | Java | O(n) | O(n) | Easy | |
| Leetcode | 454. 4Sum II | Java | O(n^2) | O(n^2) | Medium | |
| Leetcode | 169. Majority Element | Java | O(n) | O(n) | Easy |
| Website | Title | Solution | Time | Space | Difficulty | Note |
|---|---|---|---|---|---|---|
| Leetcode | 53. Maximum Sum Subarray | Java | O(n) | O(1) | Easy | |
| Leetcode | 152. Maximum Product Subarray | Java | O(n) | O(1) | Medium | |
| Leetcode | 628. Maximum Product of Three Numbers | Java | O(n) | O(1) | Easy | |
| Leetcode | 62. Unique Paths | Java | O(m*n) | O(m+n) | Easy | |
| Leetcode | 62. Unique Paths | Java | O(n) | O(1) | Easy | |
| Leetcode | 264. Ugly Number II | Java | O(n) | O(1) | Easy | |
| Leetcode | 70. Climbing Stairs | Java | O(n) | O(1) | Easy | |
| Leetcode | 198. House Robber | Java | O(n) | O(1) | Easy |
| Website | Title | Solution | Time | Space | Difficulty | Note |
|---|---|---|---|---|---|---|
| Leetcode | 654. Maximum Binary Tree | Java | O(n log n) | O(n) | Easy | |
| Leetcode | 50. Pow(x, n) | Java | O() | O(n) | Medium |
| Website | Title | Solution | Time | Space | Difficulty | Note |
|---|---|---|---|---|---|---|
| Leetcode | 339. Nested List Weight Sum | Java | O( ) | O( ) | Easy |
| Website | Title | Solution | Time | Space | Difficulty | Note |
|---|---|---|---|---|---|---|
| Leetcode | 621. Task Scheduler | Java | O(n) | O(n) | Medium |
| Website | Title | Solution | Time | Space | Difficulty | Note |
|---|---|---|---|---|---|---|
| Leetcode | 278. First Bad Version | Java | O(logn) | O(1) | Easy |
| Website | Title | Solution | Time | Space | Difficulty | Note |
|---|---|---|---|---|---|---|
| Leetcode | 155. Min Stack | Java | O(n) | O(1) | Easy | |
| Leetcode | 496. Next Greater Element I | Java | O(mn) | O(m+n) | Easy | |
| Leetcode | 20. Valid Parentheses | Java | O(n) | O(n) | Easy | |
| Leetcode | 232. Implement Queue using Stacks | Java | O(n) | O(n) | Easy |
| Website | Title | Solution | Time | Space | Difficulty | Note |
|---|---|---|---|---|---|---|
| Leetcode | 225. Implement Stack using Queues | Java | O(n) | O(1) | Easy |
| Website | Title | Solution | Time | Space | Difficulty | Note |
|---|---|---|---|---|---|---|
| Leetcode | 328. Odd Even Linked List | Java | O(n) | O(1) | Medium | |
| Leetcode | 23. Merge k Sorted Lists | Java | O(n logk) | O(1) | Hard | |
| Leetcode | 83. Remove Duplicates from Sorted List | Java | O(n) | O(1) | Easy | |
| Leetcode | 203. Remove Linked List Elements | Java | O(n) | O(1) | Easy | |
| Leetcode | 237. Delete Node in a Linked List | Java | O(1) | O(1) | Easy | |
| Leetcode | 206. Reverse Linked List | Java | O(n) | O(1) | Easy | |
| Leetcode | 2. Add Two Numbers | Java | O(n+m) | O(n+m) | Medium | |
| Leetcode | 21. Merge Two Sorted Lists | Java | O(n) | O(1) | Easy | |
| Leetcode | 24. Swap Nodes in Pairs | Java | O(n) | O(1) | Medium | |
| Leetcode | 234. Palindrome Linked List | Java | O(n) | O(1) | Medium |
| Website | Title | Solution | Time | Space | Difficulty | Note |
|---|---|---|---|---|---|---|
| Leetcode | 680. Valid Palindrome II | Java | O(n) | O(1) | Easy |
| Website | Title | Solution | Time | Space | Difficulty | Note |
|---|---|---|---|---|---|---|
| Leetcode | 690. Employee Importance | Java | O(v+e) | O(1) | Easy |
| Website | Title | Solution | Time | Space | Difficulty | Note |
|---|---|---|---|---|---|---|
| Leetcode | 197. Rising Temperature | SQL | O(n) | O(1) | Easy | |
| Leetcode | 627. Swap Salary | SQL | O(n) | O(1) | Easy | |
| Leetcode | 181. Employees Earning More Than Their Managers | SQL | O(n) | O(1) | Easy |