sadi.me email: abdotalaatfcih@gmail.com
Pattern-00: Sliding Window(07)
SL Title Links Read Code SolUnd ReCoded Review Notes
01 Maximum Sum Subarray of Size K (easy) geeks
YES YES NA 0 0 simplicity is the main idea to solve the issue
02 Smallest Subarray with a given sum (easy) educative
leet (medium)
YES YES NA 2 2 smallest subarray whose sum >= K
03 Longest Substring with At Most K Distinct Characters (medium) lint
YES YES
(poor version with map)


YES
(Better version I coded)
NA 2 2 Solved using map. Need to understand/implement an O(n) solution and code. Must review!
UPDATE -- Solved the O(n) solution. It was nice. Will be good to have another review after some days.
04 Fruits into baskets (medium) leet
YES YES NA 1 1 Solved using map. Need to understand/implement an O(n) solution and code. Must review!
05 Longest Substring Without Repeating Characters (medium) leet
YES YES YES NA NA I solved this problem before, but I am not understanding my code!!! Now, again solved using map. Need to understand/implement an O(n) solution and code. Must review! I took help from the solution, so, it was not a glorified work of solving problem, so, I should check it back later must!!!
Ext-01 Max value from Sliding Window leet(different problem)
geeks(different problem)
YES YES YES NA NA Monotonic Dequeue understood. Need to solve similar problems listed in the sheet
Ext-02 No of sub-arrays whose sum = K (medium) leet
YES YES
[O(n2) solution worked]
YES NA NA There is a hashmap based solution in leet link, need to understand !!
06 Longest Substring with Same Letters after Replacement (hard) leet-424
NA YES NA NA NA I thought a lot and made it complicated. Finally checked solution, I was very close to the solution and the key thoughts were same. Need review.
07 Longest Subarray with Ones after Replacement (hard) leet-1004
NA YES NA NA NA Solved in one pass. Because of similarity with the previous one (Khikz!)
</br></br>
Pattern-01: Two Pointers(08)
SL Title Links Read Code SolUnd ReCoded Review1 Review2 Notes
01 Pair with Target Sum (easy) geeks (count pairs with given sum)
coderbyte (two sum problem)
leet (two sum)
YES YES YES NA NA NA Use the Map as auxiliary data structure to save the previous value
02 Remove Duplicates (easy) 83. Remove Duplicates from Sorted List
82. Remove Duplicates from Sorted List II
80. Remove Duplicates from Sorted Array II
287. Find the Duplicate Number
1089. Duplicate Zeros
NA YES - 83 - Remove Duplicates from Sorted List
YES - 82 - Remove Duplicates from Sorted List II
YES - 80 - Remove Duplicates from Sorted Array II
YES - 1089 - Duplicate Zeros
NA NA NA NA There are many versions of this type of problem, not sure which one to include. So, included all.
Necessary Notes by Problem :

(83) Simple linked list removal. Need to RECODE and Practice, error prone. See Editorial (if any) to find any cool trick related to 'Two Pointers'.

(82) Lil tricky linked list removal. Need to RECODE and Practice, error prone. See Editorial (if any) to find any cool trick related to 'Two Pointers'.

(80) Solved using Ad-hoc. No need to recode or check-back. Still See Editorial (if any) to find any cool trick related to 'Two Pointers'.

(287) NO NEED TO CODE AGAIN Because it's so easy. BUT check the fats-slow pointer (Cycle Detection) solution in the Editorial !!!!!
02 (A) Contains Duplicate III
(very good problem--learning resource)
220. Contains Duplicate III
YES YES NA NA NA NA Learning resources-
C++ Map Lower Bound usage
C++ Set usage
Java Bucket Sort - O(n)
03 Squares of a Sorted Array (easy) leet-977
YES YES NA NA NA NA *** MUST THINK *** about two pointer solution!!! I solved two ways, 1) using Min Heap 2) using Sort. None of them are not so efficient (10% speed, 10% memory in leet). Need to improve using two pointer. Must be a fun think!!!
04 Triplet Sum to Zero (medium) leet-15
YES YES NA NA NA NA Solved with many triel and errors. There should be some cool techniques for this common problem which I should learn to enhance idea... MUST REVIEW + REINVESTIGATE!!!!
05 Triplet Sum Close to Target (medium) leet-16
NA YES NA NA NA NA NA
06 Triplets with Smaller Sum geeks
lint
YES YES NA NA NA NA NA
07 Subarrays with Product Less than a Target (medium) leet-713
NA YES NA NA NA NA I couldn't solve this problem (though it was not too hard). I just copied the solution from leet editorial and understood most of it. But not getting why "ans = ans + right - left + 1;" works? Need to REVIEW MUST and there is a logN solution which I need to implement later.
08 Dutch National Flag Problem (medium) CoderByte
geeks
NA NA NA NA NA NA NA
</br></br>
Pattern-02: Fast and Slow pointers(04)
SL Title Links Read Code SolUnd ReCoded Review1 Review2 Notes
01 Linked List cycle detection leet YES YES NA NA NA NA NA
02 Start of LinkedList Cycle leet-142 YES YES YES NA NA NA This type of problem is stupid to ask in a 40 mins interview. If someone know the solution beforehand, only then he/she can answer(this is my belief, some 1% genius can answer without knowing the solution, but that's really not normal!) However, it is an INTERESTING problem....This link was useful to understand
03 Happy Number leet-202
geeks
YES YES NA NA NA NA NA
04 Middle of a Linked List leet-876 YES YES NA NA NA NA Same concept applied


Pattern-03: Pattern: Merge Intervals(04)
SL Title Links Read Code SolUnd ReCoded Review1 Review2 Notes
01 Merge Intervals (medium) leet YES YES NA NA NA NA NA
02 Insert Intervals (Hard) leet-52 YES NA NA NA NA NA NA
03 Interval List Intersections (medium) leet-986 YES NA NA NA NA NA NA
04 Conflicting Appointments (medium) geek YES NA NA NA NA NA NA


Pattern-04: Cyclic Sort(05)
SL Title Links Read Code SolUnd ReCoded Review1 Review2 Notes
01 Cyclic Sort (easy) geeks example
leet solution of a HARD problem
leet solution of an easy problem
YES NA NA NA NA NA NA


Pattern-05: In-place Reversal of a LinkedList(03)
SL Title Links Read Code SolUnd ReCoded Review1 Review2 Notes
01 In-place reverse of a linked-list educative
leet
YES YES NA NA NA NA Review both recursive and iterative way
02 Reverse a sub-list leet-92
YES YES NA NA NA NA Solved iteratively with "Runtime: 0 ms, faster than 100.00% of C++ online submissions for Reverse Linked List II. Memory Usage: 8.6 MB, less than 100.00% of C++ online submissions for Reverse Lnked List II."... Yayyy!!! BUT.... it took a day to come up to this solution and there are recursive explanation in leet editorial which I should check, understand and code. Also, the solution I did should be recoded. It killed me a lot!!!
03 Reverse every K-element Sub-list (medium) leet-25
medium article
geeks
YES YES NA NA NA NA Just used previous solution as a function and created a loop to call it as asked in the problem. It was super easy. Previous problem is the key to remember.


Pattern-06: Tree Breadth First Search(07)
SL Title Links Read Code SolUnd ReCoded Review1 Review2 Notes
01 Binary Tree Level Order Traversal (easy) leet (medium) YES YES NA NA NA NA NA
02 Reverse Level Order Traversal (easy) leet-107 (easy) YES YES NA NA NA NA NA
03 Zigzag Traversal (medium) leet-103 (medium) YES YES NA NA NA NA NA
04 Level Averages in a Binary Tree (easy) leet-637 (easy) YES YES NA NA NA NA NA
05 Minimum Depth of Binary Tree (easy) leet-111 (easy) YES YES NA NA NA NA NA
06 Level Order Successor (easy) geeks
lint
YES YES NA NA NA NA NA
07 Connect Level Order Siblings (medium) leet-116 YES YES NA NA NA NA Sweet!


Pattern-07: Tree Depth First Search(05)
SL Title Links Read Code SolUnd ReCoded Review1 Review2 Notes
01 Binary Tree Path Sum(easy) leet YES YES NA NA NA NA Easy problem but took several attempts tp get accepted. need PRACTICE to write bug free code at one shot!!!
02 All Paths for a Sum (medium) leet-113 YES YES NA NA NA NA Easy problem but took several attempts tp get accepted. need PRACTICE to write bug free code at one shot!!!
03 Sum of Path Numbers (medium) PROBLEM NOT FOUND NA NA NA NA NA NA
04 Path With Given Sequence (medium) geeks NA NA NA NA NA NA
05 Count Paths for a Sum (medium) geeks NA NA NA NA NA NA


Pattern-08: Two Heaps(03)
SL Title Links Read Code SolUnd ReCoded Review1 Review2 Notes
01 Find the Median of a Number Stream (medium) leet
geeks(without STL)
geeks(++STL)
A nice Article
YES YES NA NA NA NA Interesting insight in the solution. An article can be written with clear explanation
02 Sliding Window Median (hard) leet-480
NA YES NA NA NA NA Solved the same way as previous problem. Instead of priority_queue, used multiset, because it allows to erase where pq doesn't allow that.
... ... ..Practice!!!
03 Maximize Capital (hard) leet-502
NA NA NA NA NA NA NA


Pattern-09: Subsets(06)
SL Title Links Read Code SolUnd ReCoded Review1 Review2 Notes
01 Subsets (easy) educative (easy)
leet (medium)
YES YES NA NA NA NA Need to read solution explained in educative. I solved it recursively, but they wrote something with BFS which might be interesting!
02 Subsets with duplicates (easy) educative (easy)
leet (medium)
YES YES NA NA NA NA My solution is not so good(though accepted). Need to understand better solution(using BFS) from educative same as the previous one.
03 Permutations (medium) educative (medium) leet (medium) YES YES NA NA NA NA NA
04 String permutations by changing case (medium) geeks
leet
YES NA NA NA NA NA NA
05 Balanced Parentheses (hard) medium
leet
YES NA NA NA NA NA NA
06 Unique Generalized Abbreviations (hard) lint YES NA NA NA NA NA NA


Pattern-10: Modified Binary Search(07)
SL Title Links Read Code SolUnd ReCoded Review1 Review2 Notes
01 (A) Basic Binary Search (easy) leet YES YES NA NA NA NA NA
01 (B) Order Agnostic Binary Search --????(easy) NA NA NA NA NA NA Problems not found, maybe it's a new problem listed in educative only
02 Ceiling of a number(medium) algorithms_and_me YES NA NA NA NA NA Is it the correct problem they are asking for?
03 Next Letter(medium) leet YES NA NA NA NA NA NA
04 Number Range(medium) leet YES YES NA NA NA NA Is it the correct problem they are asking for?
05 (A) Search in a rotated sorted array(medium) leet YES NA NA NA NA NA NA
05 (B) Single element in a rotated sorted array(medium) leet YES NA NA NA NA NA NA
05 (C) educative Single in an INFINITE rotated sorted array(medium) geeks YES NA NA NA NA NA NA
06 Minimum Difference Element (medium) TBD NA NA NA NA NA NA NA
07 Bitonic Array Maximum (easy) includehelp NA NA NA NA NA NA NA


Pattern-11: Top 'K' Elements(11)
SL Title Links Read Code SolUnd ReCoded Review1 Review2 Notes
01 Top K Numbers(easy) leet (Top K Frequent Elements)(medium)
leet (Top K Frequent Words)(medium)
YES YES NA NA NA NA Nice Reading! Template about pair and priority_queue. Need to practive PQ Min/Max heap with Pair data structure, no need to create a new class as we can use Map.Entry as class and to get the value entry.getValue()/getKey(), we need to read about Comparator interface and compare method
02 Kth Smallest Number (easy) leet(medium)
YES YES NA NA NA NA NA
03 K' Closest Points to the Origin (easy) leet(medium)
YES YES NA NA NA NA Solved with priority_queue. There is a DivNConquer solution in the editorial which might be interesting
04 K' Connect Ropes (easy) leet(easy)
NA NA NA NA NA NA Solved with priority_queue. There is a DivNConquer solution in the editorial which might be interesting
05 Top 'K' Frequent Numbers (medium) leet(medium)
NA YES NA NA NA NA NA
06 Frequency Sort (medium) leet(medium)
YES TODO NA NA NA NA NA
07 Kth Largest Number in a Stream (medium) leet(easy)
NA TODO NA NA NA NA NA
08 'K' Closest Numbers (medium) leet(medium)
NA TODO NA NA NA NA NA
09 Maximum Distinct Elements (medium) geeks
NA TODO NA NA NA NA Is it the correct problem?
10 Sum of Elements (medium) PROBLEM NOT FOUND
NA TODO NA NA NA NA NA
11 Rearrange String (hard) leet(medium)
NA TODO NA NA NA NA Is it the correct problem?


Pattern-12: K-way merge(04)
SL Title Links Read Code SolUnd ReCoded Review1 Review2 Notes
01 Merge K-Sorted List (medium) leet (Hard) YES YES NA NA NA NA NA
01 (Easier Version) Merge Two Sorted List (easy) leet (easy) DONE YES NA NA NA NA NA
02 Kth Smallest Number in M Sorted Lists (medium) leet (medium) DONE NA NA NA NA NA NA


Pattern-13: 0/1 Knapsack (Dynamic Programming)(04)
SL Title Links Read Code SolUnd ReCoded Review1 Review2 Notes
01(A) 0/1 Knapsack (medium) leet - Coin Change (Minimum No of coins required to make a sum)
DONE YES NA NA NA NA NA
01(B) 0/1 Knapsack (medium) leet - Coin Change 2 (No of ways to make a sum using some coins) (Explanation)
DONE NA NA NA NA NA NA
02 Equal Subset Sum Partition (medium) leet - Partition Equal Subset Sum (Explanation)
educative
DONE NA NA NA NA NA NA
03 Subset Sum geeks
educative
NA NA NA NA NA NA NA
04 Minimum Subset Sum Difference geeks NA NA NA NA NA NA NA


Pattern-14: Topological Sort(06)
Topological Sort (medium) Tasks Scheduling (medium) Tasks Scheduling Order (medium) All Tasks Scheduling Orders (hard) Alien Dictionary (hard) </td> </table>

SL Title Links Read Code SolUnd ReCoded Review1 Review2 Notes
01 Course Schedule (medium) leet YES YES 1 NA NA NA Coded BFS based approach. Need to code DFS one later \n connected grraph or not \n has cycle (isvisted,isexplered)
02 Course Schedule II (medium) leet YES YES NA NA NA NA Coded BFS based approach. Need to code DFS one later </tr>
02 Course Schedule III (Hard) leet NA NA NA NA NA NA NA
03 Alien Dictionary (Hard) lint NA NA NA NA NA NA NA
04 Longest Increasing Path in a Matrix (Hard) leet NA NA NA NA NA NA NA
05 Sequence Reconstruction (Medium) lint NA NA NA NA NA NA NA
06 Sort Items by Groups Respecting Dependencies (Hard) lint NA NA NA NA NA NA NA
Pattern-15: Miscellaneous (n)
SL Title Links Read Code SolUnd ReCoded Review1 Review2 Notes
01 K-th Smallest Number (Hard) leet DONE YES NA NA NA NA Used priority_queue and it was trivial. There is a better solution that uses Quick selection technique as used in Quick Sort (refer to the Algorithm course of Stanford which I
02 Remove Nth Node From End of List (Medium) leet DONE YES NA NA NA NA There is a One pass solution in leet editorial. *****Need***** to understand that.
03 K Closest Points to Origin (Medium) leet DONE YES NA NA NA NA Template for Min Heap with pair data type !!!!! TEMPLATE MUST!!!
04 Nex greater element-1 leet DONE YES NA NA NA NA Stack based implementation
04 Nex greater element-1 leet DONE Work In Progress NA NA NA NA Stack based implementation


Contest Upsolve
SL Title Links Read Code SolUnd ReCoded Review1 Review2 Notes
01 BWC-07: 1168-Optimize Water Distribution in a Village leet YES NA NA NA NA NA NA
02 WC-151: 1169-Invalid Transactions leet YES NA NA NA NA NA NA
03 WC-151: 1171-Remove Zero Sum Consecutive Nodes from Linked List leet YES NA NA NA NA NA DO IT MUST
04 WC-151: 1172-Dinner Plate Stacks leet NA NA NA NA NA NA NA


Tutorials and/or Useful Links
SL Title Links Read Code SolUnd ReCoded Review1 Review2 Notes
01 C++ Pointer Tutorial Eric Lewis' gist Very good in detail C++ pointer* and Reference& NA NA NA NA NA NA NA
02 Leetcode Patterns (VERY GOOD) csgator medium series NA NA NA NA NA NA NA
03 System Design leetcode good discussion
System Design Template
System Design Premier
1 NA NA NA NA NA
  • Start and be consistent
  • Don't be in a hurry. Enjoy the ride :)
  • Software design template
    • What's Expected
    • assumtion phase
    • design target
    • high level design
    • in details design
    • justification


</body> </html>