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 | 190. Reverse Bits | Java | O(n) | O(n) | Easy | |
| Leetcode | 191. Number of 1 Bits | Java | O(n) | O(1) | Easy | |
| Leetcode | 260. Single Number III | Java | O(n) | O(1) | Medium | |
| Leetcode | 401. Binary Watch | Java | O(n) | O(1) | Easy | |
| Leetcode | 461. Hamming Distance | Java | O(n) | O(1) | Easy | |
| Leetcode | 338. Counting Bits | Java | O(nk) | O(n) | Medium |
| Website | Title | Solution | Time | Space | Difficulty | Note |
|---|---|---|---|---|---|---|
| Leetcode | 1. Two Sum | Java | O(n) | O(n) | Easy | |
| Leetcode | 169. Majority Element | Java | O(n) | O(n) | Easy | |
| Leetcode | 170. Two Sum III - Data structure design | Java | O(n) | O(n) | Medium | |
| Leetcode | 219. Contains Duplicate II | Java | O(n) | O(n) | Easy | |
| Leetcode | 266. Palindrome Permutation | Java | O(n) | O(1) | Easy | |
| Leetcode | 359. Logger Rate Limiter | Java | O(n) | O(n) | Easy | |
| Leetcode | 347. Top K Frequent Elements | Java | O(n) | O(n) | Medium | |
| Leetcode | 454. 4Sum II | Java | O(n^2) | O(n^2) | Medium | |
| Leetcode | 506. Relative Ranks | Java | O(n) | O(n) | Easy | |
| Leetcode | 525. Contiguous Array | Java | O( ) | O( ) | Medium | |
| Leetcode | 532. K-diff Pairs in an Array | Java | O(n) | O(n) | Easy | |
| Leetcode | 535. Encode and Decode TinyURL | Java | O(n) | O(1) | Medium | |
| Leetcode | 594. Longest Harmonious Subsequence | Java | O(n) | O(n) | Easy | |
| Leetcode | 677. Map Sum Pairs | Java | O(n) | O(1) | Easy |
| Website | Title | Solution | Time | Space | Difficulty | Note |
|---|---|---|---|---|---|---|
| Leetcode | 53. Maximum Sum Subarray | Java | O(n) | O(1) | Easy | |
| Leetcode | 62. Unique Paths | Java | O(m*n) | O(m+n) | Easy | |
| Leetcode | 70. Climbing Stairs | Java | O(n) | O(1) | Easy | |
| Leetcode | 152. Maximum Product Subarray | Java | O(n) | O(1) | Medium | |
| Leetcode | 198. House Robber | Java | O(n) | O(1) | Easy | |
| Leetcode | 264. Ugly Number II | Java | O(n) | O(1) | Easy | |
| Leetcode | 628. Maximum Product of Three Numbers | Java | O(n) | O(1) | Easy | |
| Leetcode | 646. Maximum Length of Pair Chain | Java | O(n) | O(1) | Easy |
| Website | Title | Solution | Time | Space | Difficulty | Note |
|---|---|---|---|---|---|---|
| Leetcode | 50. Pow(x, n) | Java | O() | O(n) | Medium | |
| Leetcode | 109. Convert Sorted List to Binary Search Tree | Java | O(n) | O(logn) | Medium | |
| Leetcode | 339. Nested List Weight Sum | Java | O( ) | O( ) | Easy | |
| Leetcode | 654. Maximum Binary Tree | Java | O(n log n) | O(n) | 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 | 20. Valid Parentheses | Java | O(n) | O(n) | Easy | |
| Leetcode | 155. Min Stack | Java | O(n) | O(1) | Easy | |
| Leetcode | 232. Implement Queue using Stacks | Java | O(n) | O(n) | Easy | |
| Leetcode | 496. Next Greater Element I | Java | O(mn) | O(m+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 | 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 | 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 | 148. Sort List | Java | O(nlogn) | O(logn) | Medium | |
| Leetcode | 203. Remove Linked List Elements | Java | O(n) | O(1) | Easy | |
| Leetcode | 206. Reverse Linked List | Java | O(n) | O(1) | Easy | |
| Leetcode | 237. Delete Node in a Linked List | Java | O(1) | O(1) | Easy | |
| Leetcode | 234. Palindrome Linked List | Java | O(n) | O(1) | Medium | |
| Leetcode | 328. Odd Even Linked List | Java | O(n) | O(1) | Medium |
| Website | Title | Solution | Time | Space | Difficulty | Note |
|---|---|---|---|---|---|---|
| Leetcode | 209. Minimum Size Subarray Sum | Java | O(n) | O(1) | Medium | |
| Leetcode | 259. 3Sum Smaller | Java | O(n) | O(1) | Medium | |
| Leetcode | 360. Sort Transformed Array | Java | O(n) | O(1) | Medium | |
| Leetcode | 487. Max Consecutive Ones II | Java | O(n) | O(1) | Medium | |
| Leetcode | 567. Permutation in String | Java | O(n) | O(1) | Medium | |
| 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 | 181. Employees Earning More Than Their Managers | SQL | O(n) | O(1) | Easy | |
| Leetcode | 197. Rising Temperature | SQL | O(n) | O(1) | Easy | |
| Leetcode | 627. Swap Salary | SQL | O(n) | O(1) | Easy |
| Website | Title | Solution | Time | Space | Difficulty | Note |
|---|---|---|---|---|---|---|
| Leetcode | 56. Merge Intervals | Java | O(nlogn) | O(1) | Medium | |
| Leetcode | 57. Insert Interval | Java | O(n) | O(1) | Hard | |
| Leetcode | 75. Sort Colors | Java | O(n) | O(1) | Medium |