Ep.2: Dynamic Programming (Part I) - LeetCode Problems That Got Me Hired
In this video, I give an intro to dynamic programming, a notoriously challenging pattern that often appears on software engineer interviews. I discuss memoization vs tabulation, and I try to show the key takeaways of four similar LeetCode DP problems: Climbing Stairs, Coin Change, Longest Increasing Subsequence, and Word Break (which I was asked on one of my full-time FAANG interviews!).
In this series, I dissect crucial coding interview patterns and discuss LeetCode problems I've done (while prepping for my own interviews) that I think are particularly essential. My goal is not to make tutorials on specific problems, but to highlight key takeaways and expose underlying algorithmic patterns.
💻 Some Juicy DP Links 💻
7 Step DP Outline by Nikola Otasevic https://dev.to/nikolaotasevic/dynamic-programming--7-steps-to-solve-any-dp-interview-problem-3870
Quora thread on DP resources https://www.quora.com/Are-there-any-good-resources-or-tutorials-for-dynamic-programming-DP-besides-the-TopCoder-tutorial
Tabulation vs Memoization on Geeks for Geeks https://www.geeksforgeeks.org/tabulation-vs-memoization/?ref=rp
Dynamic Programming Patterns by aatalyk https://leetcode.com/discuss/general-discussion/458695/dynamic-programming-patterns
Demystifying Dynamic Programming, FreeCodeCamp https://www.freecodecamp.org/news/demystifying-dynamic-programming-3efafb8d4296/
Dynamic Programming Pattern, on Berkeley EECS https://patterns.eecs.berkeley.edu/?page_id=416#2_Longest_common_subsequence_LCS
Slide Deck from Stanford CS 97SI https://web.stanford.edu/class/cs97si/04-dynamic-programming.pdf
Algorithms. by Dasgupta, Papadimitriou, Vazirani (chapter 6)
⏲ Timestamps ⏲
0:00 - Introduction
1:34 - Overview of Dynamic Programming
2:41 - Climbing Stairs + Steps to Solve a DP Problem
11:07 - Coin Change
14:51 - Longest Increasing Subsequence
19:34 - Word Break
23:25 - Closing Thoughts
🛒 My Gear and Resources 🛒
Cracking the Coding Interview: https://amzn.to/3lEXKw3
MacBook Pro (16-inch): https://amzn.to/2Iq0MXe
AirPods Pros: https://amzn.to/38wEtd5
Neewer USB LED Video Lights: https://amzn.to/3pm9uGT
Angetube 1080p HD Webcam: https://amzn.to/32CRuhz
Fifine USB Microphone: https://amzn.to/38wW9Fs
😬 About Me 😬
I'm a software engineer at Google, where I previously interned for two summers. I recently graduated from college as a computer science major. Now I sit in my room and talk to my camera to compensate for the fact that I have no social life.
🎵 Music 🎵
Lagoons by Strehlow, Chris Mazuera https://chll.to/6bf06e11
Видео Ep.2: Dynamic Programming (Part I) - LeetCode Problems That Got Me Hired канала Kenny Yuan
In this series, I dissect crucial coding interview patterns and discuss LeetCode problems I've done (while prepping for my own interviews) that I think are particularly essential. My goal is not to make tutorials on specific problems, but to highlight key takeaways and expose underlying algorithmic patterns.
💻 Some Juicy DP Links 💻
7 Step DP Outline by Nikola Otasevic https://dev.to/nikolaotasevic/dynamic-programming--7-steps-to-solve-any-dp-interview-problem-3870
Quora thread on DP resources https://www.quora.com/Are-there-any-good-resources-or-tutorials-for-dynamic-programming-DP-besides-the-TopCoder-tutorial
Tabulation vs Memoization on Geeks for Geeks https://www.geeksforgeeks.org/tabulation-vs-memoization/?ref=rp
Dynamic Programming Patterns by aatalyk https://leetcode.com/discuss/general-discussion/458695/dynamic-programming-patterns
Demystifying Dynamic Programming, FreeCodeCamp https://www.freecodecamp.org/news/demystifying-dynamic-programming-3efafb8d4296/
Dynamic Programming Pattern, on Berkeley EECS https://patterns.eecs.berkeley.edu/?page_id=416#2_Longest_common_subsequence_LCS
Slide Deck from Stanford CS 97SI https://web.stanford.edu/class/cs97si/04-dynamic-programming.pdf
Algorithms. by Dasgupta, Papadimitriou, Vazirani (chapter 6)
⏲ Timestamps ⏲
0:00 - Introduction
1:34 - Overview of Dynamic Programming
2:41 - Climbing Stairs + Steps to Solve a DP Problem
11:07 - Coin Change
14:51 - Longest Increasing Subsequence
19:34 - Word Break
23:25 - Closing Thoughts
🛒 My Gear and Resources 🛒
Cracking the Coding Interview: https://amzn.to/3lEXKw3
MacBook Pro (16-inch): https://amzn.to/2Iq0MXe
AirPods Pros: https://amzn.to/38wEtd5
Neewer USB LED Video Lights: https://amzn.to/3pm9uGT
Angetube 1080p HD Webcam: https://amzn.to/32CRuhz
Fifine USB Microphone: https://amzn.to/38wW9Fs
😬 About Me 😬
I'm a software engineer at Google, where I previously interned for two summers. I recently graduated from college as a computer science major. Now I sit in my room and talk to my camera to compensate for the fact that I have no social life.
🎵 Music 🎵
Lagoons by Strehlow, Chris Mazuera https://chll.to/6bf06e11
Видео Ep.2: Dynamic Programming (Part I) - LeetCode Problems That Got Me Hired канала Kenny Yuan
Показать
Комментарии отсутствуют
Информация о видео
Другие видео канала
![5 Tips for Studying LeetCode for Your Coding Interviews If You’re Feeling Stuck](https://i.ytimg.com/vi/xH__HUNVfH0/default.jpg)
![7 Steps for Structuring Your Response in a Technical Interview for Software Engineering](https://i.ytimg.com/vi/jMLxrV-6d4M/default.jpg)
![Ep.1: Depth-First Search - LeetCode Problems That Got Me Hired](https://i.ytimg.com/vi/nNGSZdx6F3M/default.jpg)
![Ep.5: Dynamic Programming (Part II) - LeetCode Problems That Got Me Hired](https://i.ytimg.com/vi/rytTTvPdmLw/default.jpg)
![Egg Dropping Problem: Dynamic Programming Fundamentals & Understanding Subproblem Decomposition](https://i.ytimg.com/vi/iOaRjDT0vjc/default.jpg)
![The Recursive Staircase - Top Down & Bottom Up Dynamic Programming ("Climbing Stairs" on LeetCode)](https://i.ytimg.com/vi/NFJ3m9a1oJQ/default.jpg)
![Longest Common Subsequence (2 Strings) - Dynamic Programming & Competing Subproblems](https://i.ytimg.com/vi/ASoaQq66foQ/default.jpg)
![Google Software Engineer Desk Setup (Work From Home)](https://i.ytimg.com/vi/Ss4hu-RaNmA/default.jpg)
![Learn Dynamic Programming (Memoization & Tabulation)](https://i.ytimg.com/vi/f2xi3c1S95M/default.jpg)
![Ep.4: Sliding Windows - LeetCode Problems That Got Me Hired](https://i.ytimg.com/vi/7Q1uylXOatU/default.jpg)
![19. Dynamic Programming I: Fibonacci, Shortest Paths](https://i.ytimg.com/vi/OQ5jsbhAv_M/default.jpg)
![Ep.3: Graphs - LeetCode Problems That Got Me Hired](https://i.ytimg.com/vi/a4hXpeHZ_-c/default.jpg)
![My Strategy to use LeetCode for Cracking Coding Interviews Effectively](https://i.ytimg.com/vi/q15JgVVLXQg/default.jpg)
![Total Unique Ways To Make Change - Dynamic Programming ("Coin Change 2" on LeetCode)](https://i.ytimg.com/vi/DJ4a7cmjZY0/default.jpg)
![Longest Common Subsequence - Recursive and Iterative DP (LeetCode Day 26)](https://i.ytimg.com/vi/KJWAQVmuFW0/default.jpg)
![A Day in the Life of a NEW Google Software Engineer (Work From Home)](https://i.ytimg.com/vi/SUPww_mzcZI/default.jpg)
![The Resume That Got Me into Google as an Intern](https://i.ytimg.com/vi/01hT_-Q2FIQ/default.jpg)
![Dynamic Programming and Local Memoization in Competitive Programming with misof](https://i.ytimg.com/vi/vXNqIyXrVi4/default.jpg)
![Wildcard Matching Dynamic Programming](https://i.ytimg.com/vi/3ZDZ-N0EPV0/default.jpg)
![Maximum Size Rectangle of All 1's Dynamic Programming](https://i.ytimg.com/vi/g8bSdXCG-lA/default.jpg)