Types of Problem

Then we look at the type of problems:

  • Trees
- 51. Invert Binary Tree
- 52. Kth Smallest Element in a BST
- 53. Lowest Common Ancestor of a Binary Search Tree
- 54. Lowest Common Ancestor of a Binary Tree
- 59. Graph Valid Tree
- 73. Serialize and Deserialize BST
- 74. Subtree of Another Tree
  • Array/String
- 55. Product of Array Except Self
- 56. Valid Anagram
- 57. Meeting Rooms
- 58. Meeting Rooms II
- 60. Missing Number
- 61. Alien Dictionary
- 62. Encode and Decode Strings
- 63. Find Median from Data Stream
- 64. Longest Increasing Subsequence
- 65. Coin Change
- 68. Top K Frequent Elements
- 71. Longest Repeating Character Replacement
- 72. Non-overlapping Intervals
- 75. Palindromic Substrings
- 76. Longest Common Subsequence
  • Graph
- 66. Number of Connected Components in an Undirected Graph
  • Bits
- 67. Counting Bits
  • Math
- 69. Sum of Two Integers
- 65. Coin Change
  • Matrix
- 70. Pacific Atlantic Water Flow

The array problems still dominate the categories. This is something we can expect. There are just so many things we can do with arrays, and usually the problems are simple enough that candidates don’t have to take too much time to understand.

Types of Question Asks

  • Trees
- 51. Invert Binary Tree
- 53. Lowest Common Ancestor of a Binary Search Tree
- 54. Lowest Common Ancestor of a Binary Tree
- 59. Graph Valid Tree
- 73. Serialize and Deserialize BST
- 74. Subtree of Another Tree
  • Search
- 52. Kth Smallest Element in a BST
- 60. Missing Number
- 63. Find Median from Data Stream
- 68. Top K Frequent Elements
- 66. Number of Connected Components in an Undirected Graph
- 70. Pacific Atlantic Water Flow
  • Intervals
- 57. Meeting Rooms
- 58. Meeting Rooms II
- 72. Non-overlapping Intervals
  • String
- 56. Valid Anagram
- 61. Alien Dictionary
- 62. Encode and Decode Strings
  • Math
- 55. Product of Array Except Self
- 67. Counting Bits
- 69. Sum of Two Integers
- 65. Coin Change
  • Subsequence
- 64. Longest Increasing Subsequence
- 71. Longest Repeating Character Replacement
- 75. Palindromic Substrings
- 76. Longest Common Subsequence

Techniques

DFS / BFS

- 51. Invert Binary Tree
- 70. Pacific Atlantic Water Flow
- 73. Serialize and Deserialize BST
- 74. Subtree of Another Tree

Binary Search

- 52. Kth Smallest Element in a BST
- 53. Lowest Common Ancestor of a Binary Search Tree
- 54. Lowest Common Ancestor of a Binary Tree

Dynamic Programming

- 55. Product of Array Except Self
- 64. Longest Increasing Subsequence
- 65. Coin Change
- 67. Counting Bits
- 76. Longest Common Subsequence

Hash Map

- 56. Valid Anagram
- 60. Missing Number

Sort

- 57. Meeting Rooms
- 58. Meeting Rooms II
- 72. Non-overlapping Intervals

Graph (Traversal)

- 59. Graph Valid Tree
- 66. Number of Connected Components in an Undirected Graph

Topological Sort

- 61. Alien Dictionary

String Encoding/Decoding

- 62. Encode and Decode Strings

Heap (Priority Queue)

- 63. Find Median from Data Stream

Bucket Sort

- 68. Top K Frequent Elements

Bit Manipulation

- 69. Sum of Two Integers

Sliding Window

- 71.Longest Repeating Character Replacement

Two Pointers

- 75. Palindromic Substrings

Boy….. this set is everywhere…… we still see a good stack of DFS/BFS problems as well as dynamic programming. Sorting, in different ways, take a lot of places as well.

From the list, I still think the tree problems are most popular these days as well as any kind of problems including sorting. DP…… still around but I don’t see them as well, at least in my company.

That doesn’t mean you shouldn’t study these, but there are definitely ranking in terms of frequency, not just Blind 75, but these types of Leetcode problems in general.

Now that we are finally done with the list, we should have some good understanding of what topics we are expecting, and approaches we should take.

Granted, there are more than one way to approach a problem, but we should see the patterns of these. As top tech companies make these Leetcode problems harder and harder, the problem becomes a word game. How to translate the words into coding languages/technics becomes essential on top of knowing how to solve a problem.

It’s unfortunate that the interview process becomes like this. Most of people I know hate this, but this is the game we play. I don’t see this changing any time soon.

So for now, study up! Good luck with your job searching process! I hope this series helps you even just a little. If it does even help you to understand just one problem, then it did its job.

--

--

Jonathan Chao

I am a software developer who has been in this industry for close to a decade. I share my experience to people who are or want to get into the industry