Plan

Updated: 2023-09-01
3 min read

Q1

#ProblemDifficultyTopics
11. Two SumEasyArray, Hash Table
213. Roman to IntegerEasyHash Table, Math, String
314. Longest Common PrefixEasyString
420. Valid ParenthesesEasyString, Stack
521. Merge Two Sorted ListsEasyLinked List, Recursion
626. Remove Duplicates from Sorted ArrayEasyArray, Two pointers
766. Plus OneEasyArray, Math
869. Sqrt(x)EasyMath, Binary Search,
970. Climbing StairsEasyMath, Dynamic Programming, Memoization
1088. Merge Sorted ArrayEasyArray, Two pointers, Sorting
1194. Binary Tree Inorder TraversalEasyStack, Tree, Depth-First Search, Binary Tree
122. Add Two NumbersMediumLinked List, Math, Recursion
133. Longest Substring Without Repeating CharactersMediumHash Table, String, Sliding Window
145. Longest Palindromic SubstringMediumString, Dynamic Programming
157. Reverse IntegerMediumMath
1611. Container With Most WaterMediumArray, Two pointers, Greedy
1715. 3SumMediumArray, Two pointers, Sorting
1817. Letter Combinations of a Phone NumberMediumHash Table, String, Backtracking
1919. Remove Nth Node From End of ListMediumLinked List, Two pointers
2022. Generate ParenthesesMediumString, Dynamic Programming, Backtracking

Intermediate results

  • Appeared intuitive understanding of algorithms.
  • In most cases, one hour is not enough to solve the problem.

If you start sketching an intuitive algorithm, then in the process comes an understanding and an improved solution.

Update plan by solution:

  • After reading, if there is no exact solution:
  1. Assume/analyze/draw the proposed algorithm
  2. View solutions with explanations
  3. Compare with your own / analyze
  4. Code

Q2

#ProblemDifficultyTopics
2128. Find the Index of the First Occurrence in a StringMediumString, Two pointers, String Matching
2229. Divide Two IntegersMediumMath, Bit Manipulation
2333. Search in Rotated Sorted ArrayMediumArray, Binary Search,
2434. Find First and Last Position of Element in Sorted ArrayMediumArray, Binary Search,
2536. Valid SudokuMediumArray, Hash Table, Matrix
2638. Count and SayMediumString
2746. PermutationsMediumArray, Backtracking
2848. Rotate ImageMediumArray, Math, Matrix
2949. Group AnagramsMediumArray, Hash Table, String, Sorting
3050. Pow(x, n)MediumMath, Recursion
3153. Maximum SubarrayMediumArray, Divide and Conquer, Dynamic Programming

Intermediate results

Revise training tactics. Prepare list of top coding patterns.

Practice on each coding pattern.

Q3

#ProblemDifficultyTopics
3255. Jump GameMediumArray, Greedy, Dynamic Programming
3356. Merge IntervalsMediumArray, Sorting,
3462. Unique PathsMediumMath, Dynamic Programming, Combinatorics]
3573. Set Matrix ZeroesMediumArray, Hash Table, Matrix
3675. Sort ColorsMediumArray, Two Pointers, Sorting
3778. SubsetsMediumArray, Backtracking, Bit Manipulation

Started participating in contests.