Skip to content

Cheetcoder/blind-75-python

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

Week 1 - Sequences

In week 1, we will warm up by doing a mix of easy and medium questions on arrays and strings. Arrays and strings are the most common types of questions to be found in interviews; gaining familiarity with them will help in building strong fundamentals to better handle tougher questions.

Question Difficulty LeetCode
Two Sum Easy Link
Contains Duplicate Easy Link
Best Time to Buy and Sell Stock Easy Link
Valid Anagram Easy Link
Valid Parentheses Easy Link
Maximum Subarray Easy Link
Product of Array Except Self Medium Link
3Sum Medium Link
Merge Intervals Medium Link
Group Anagrams Medium Link

Optional

Question Difficulty LeetCode
Maximum Product Subarray Medium Link
Search in Rotated Sorted Array Medium Link

Week 2 - Data structures

The focus of week 2 is on linked lists, strings and matrix-based questions. The goal is to learn the common routines dealing with linked lists, traversing matrices and sequence analysis (arrays/strings) techniques such as sliding window, linked list traversal and matrix traversal.

Question Difficulty LeetCode
Reverse a Linked List Easy Link
Detect Cycle in a Linked List Easy Link
Container With Most Water Medium Link
Find Minimum in Rotated Sorted Array Medium Link
Longest Repeating Character Replacement Medium Link
Longest Substring Without Repeating Characters Medium Link
Number of Islands Medium Link
Remove Nth Node From End Of List Medium Link
Palindromic Substrings Medium Link
Pacific Atlantic Water Flow Medium Link
Minimum Window Substring Hard Link

Week 3 - Non-linear data structures

The focus of week 3 is on non-linear data structures like trees, graphs and heaps. You should be familiar with the various tree traversal (in-order, pre-order, post-order) algorithms and graph traversal algorithms such as breadth-first search and depth-first search. In my experience, using more advanced graph algorithms (Dijkstra's and Floyd-Warshall) is quite rare and usually not necessary.

Question Difficulty LeetCode
Invert/Flip Binary Tree Easy Link
Validate Binary Search Tree Medium Link
Non-overlapping Intervals Medium Link
Construct Binary Tree from Preorder and Inorder Traversal Medium Link
Top K Frequent Elements Medium Link
Clone Graph Medium Link
Course Schedule Medium Link
Serialize and Deserialize Binary Tree Hard Link
Binary Tree Maximum Path Sum Hard Link

Optional

Question Difficulty LeetCode
Maximum Depth of Binary Tree Easy Link
Same Tree Easy Link
Binary Tree Level Order Traversal Medium Link
Encode and Decode Strings Medium Link (Premium)

Week 4 - More data structures

Week 4 builds up on knowledge from previous weeks but questions are of increased difficulty. Expect to see such level of questions during interviews. You get more practice on more advanced data structures such as (but not exclusively limited to) heaps and tries which are less common but are still asked.

Question Difficulty LeetCode
Subtree of Another Tree Easy Link
Lowest Common Ancestor of BST Easy Link
Implement Trie (Prefix Tree) Medium Link
Add and Search Word Medium Link
Kth Smallest Element in a BST Medium Link
Merge K Sorted Lists Hard Link
Find Median from Data Stream Hard Link
Insert Interval Medium Link
Longest Consecutive Sequence Medium Link
Word Search II Hard Link

Optional

Question Difficulty LeetCode
Meeting Rooms Easy Link (Premium)
Meeting Rooms II Medium Link (Premium)
Graph Valid Tree Medium Link (Premium)
Number of Connected Components in an Undirected Graph Medium Link (Premium)
Alien Dictionary Hard Link (Premium)

Week 5 - Dynamic programming

Week 5 focuses on Dynamic Programming (DP) questions. Personally as an interviewer, I'm not a fan of DP questions as they are not really applicable to practical scenarios and frankly if I were made to do the tough DP questions during my interviews I'd not have gotten the job. However, companies like Google still ask DP questions and if joining Google is your dream, DP is unavoidable.

DP questions can be hard to master and the best way to get better at them is... you guessed it - practice! Be familiar with the concepts of memoization and backtracking.

Practically speaking the return of investment (ROI) on studying and practicing for DP questions is very low. Hence DP questions are less important/optional and you should only do them if you have time to spare and you're very keen to have all bases covered (and interviewing with Google).

Question Difficulty LeetCode
Climbing Stairs Easy Link
Coin Change Medium Link
Longest Increasing Subsequence Medium Link
Combination Sum Medium Link
House Robber Medium Link
House Robber II Medium Link
Decode Ways Medium Link
Unique Paths Medium Link
Jump Game Medium Link
Word Break Medium Link

Dynamic programming course

About

Blind 75 Python

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 99.4%
  • Python 0.6%