Этот материал находится в платной подписке. Оформи премиум подписку и смотри или слушай Master the Coding Interview: Big Tech (FAANG) Interviews, а также все другие курсы, прямо сейчас!
• Урок 1. 00:02:35
Master The Coding Interview: Big Tech (FAANG) Interview
• Урок 2. 00:11:05
Course Breakdown
• Урок 3. 00:07:15
Interview Question #1 Two Sum
• Урок 4. 00:11:46
How To Approach Our Problem
• Урок 5. 00:06:41
Writing Our Brute Force Solution
• Урок 6. 00:09:24
Testing Our Solution With Our Test Cases
• Урок 7. 00:01:50
Submitting To Leetcode
• Урок 8. 00:10:38
Analyzing Space and Time Complexity
• Урок 9. 00:08:07
Optimizing Our Solution
• Урок 10. 00:05:22
Coding Our Optimal Solution
• Урок 11. 00:08:03
Testing Our Optimal Solution With Our Test Cases
• Урок 12. 00:03:25
Checking Performance On LeetCode
• Урок 13. 00:04:47
Interview Question #2 - Container With Most Water
• Урок 14. 00:04:20
Coming Up With Test Cases
• Урок 15. 00:12:50
Thinking Through A Logical Brute Force Solution
• Урок 16. 00:07:21
Coding Out Our Brute Force Solution
• Урок 17. 00:04:45
Stepping Through Our Code
• Урок 18. 00:13:53
• Урок 19. 00:09:51
Coding Our Optimal Solution And Testing On LeetCode
• Урок 20. 00:07:20
Interview Question #3 - Trapping Rainwater
• Урок 21. 00:12:46
• Урок 22. 00:08:53
Coding Our Brute Force Solution
• Урок 23. 00:24:27
Figuring Out Our Optimization Strategy
• Урок 24. 00:13:27
Coding Our Optimal Solution
• Урок 25. 00:02:10
Optimal Code And Testing On LeetCode
• Урок 26. 00:07:09
Interview Question #4 -Typed Out Strings
• Урок 27. 00:08:03
Logic Of Our Brute Force Solution
• Урок 28. 00:09:38
Coding Our Brute Force Solution
• Урок 29. 00:07:23
Space And Time Complexity
• Урок 30. 00:11:53
Coming Up With Optimal Solution
• Урок 31. 00:12:36
Coding Our Optimal Solution
• Урок 32. 00:05:52
Submitting To LeetCode
• Урок 33. 00:06:40
Interview Question #5 - Longest Substring Without Repeating Characters
• Урок 34. 00:06:35
Coming Up With A Brute Force Approach
• Урок 35. 00:09:58
Coding Our Brute Force Solution
• Урок 36. 00:03:17
Space And Time Complexity
• Урок 37. 00:05:19
Sliding Window Technique
• Урок 38. 00:02:16
Hints For Optimizing Our Solution
• Урок 39. 00:09:10
• Урок 40. 00:08:31
Coding Our Optimal Solution
• Урок 41. 00:03:19
Optimal Code And Testing On LeetCode
• Урок 42. 00:09:42
Intro To Palindromes
• Урок 43. 00:08:40
Interview Question #6 - Valid Palindrome
• Урок 44. 00:10:16
Almost A Palindrome
• Урок 45. 00:06:51
Figuring Out Our Solution
• Урок 46. 00:09:47
Coding Our Solution
• Урок 47. 00:03:59
• Урок 48. 00:08:22
Basic Algorithm: Reverse a Linked List
• Урок 49. 00:10:56
• Урок 50. 00:07:08
Coding Reverse A Linked List Solution
• Урок 51. 00:06:51
Interview Question #7 - M, N Reversals
• Урок 52. 00:16:34
Coming Up With A Logical Solution
• Урок 53. 00:15:39
Coding Our Solution
• Урок 54. 00:08:53
Interview Question #8 - Merge Multi-Level Doubly Linked List
• Урок 55. 00:08:35
Figuring Out Our Test Cases
• Урок 56. 00:16:48
• Урок 57. 00:14:38
Coding Out Our Solution
• Урок 58. 00:11:40
Interview Question #9 - Cycle Detection
• Урок 59. 00:03:05
Floyd's Tortoise And Hare
• Урок 60. 00:08:55
Coding Floyd's Algorithm
• Урок 61. 00:25:52
Optional: Proof Of How Floyd's Algorithm Works
• Урок 62. 00:03:12
Intro to Stacks and Queues
• Урок 63. 00:09:24
Interview Question #10 - Valid Parentheses
• Урок 64. 00:08:16
Walking Through Our Problem - Identifying The Need For A Stack
• Урок 65. 00:09:19
Coding Our Solution With A Stack
• Урок 66. 00:07:39
Interview Question #11 - Minimum Brackets To Remove
• Урок 67. 00:12:46
• Урок 68. 00:10:54
Coding Our Solution
• Урок 69. 00:04:11
Question #12 - Implement Queue With Stack
• Урок 70. 00:10:20
Figuring Out Our Solution
• Урок 71. 00:08:28
Coding Our Solution
• Урок 72. 00:03:08
Introducing Recursion
• Урок 73. 00:19:55
Optional: Tail Recursion
• Урок 74. 00:02:24
Sorting
• Урок 75. 00:06:51
Interview Question #13 - Kth Largest Element
• Урок 76. 00:12:37
Insights From Quick Sort
• Урок 77. 00:08:18
Understanding Divide And Conquer
• Урок 78. 00:14:54
Coding Quicksort Into Our Solution
• Урок 79. 00:06:56
Understanding Hoare's Quickselect Algorithm
• Урок 80. 00:11:48
Coding Our Solution With Quickselect
• Урок 81. 00:09:33
Understanding Binary Search
• Урок 82. 00:06:23
How To Code Binary Search
• Урок 83. 00:05:06
Question #14 - Start And End Of Target In A Sorted Array
• Урок 84. 00:10:49
Walking Through Our Solution
• Урок 85. 00:12:56
Coding Our Solution
• Урок 86. 00:01:53
Intro to Binary Trees
• Урок 87. 00:06:55
Question #15 - Maximum Depth of Binary Tree
• Урок 88. 00:19:13
Learning The Process For Solving Binary Tree Problems
• Урок 89. 00:06:12
Coding Our Solution
• Урок 90. 00:05:29
Question #16 - Level Order Of Binary Tree
• Урок 91. 00:17:28
Walking Through Our Solution
• Урок 92. 00:11:39
Coding Out Level Order Traversal
• Урок 93. 00:06:44
Question #17 - Right Side View of Tree
• Урок 94. 00:08:27
Understanding The Breadth First Search Approach
• Урок 95. 00:09:23
Understanding The Depth First Search Approach
• Урок 96. 00:12:24
Thinking About Pre-Order, In-Order, and Post-Order Traversals For Our Solution
• Урок 97. 00:07:42
Completing Our DFS Solution
• Урок 98. 00:11:56
Coding Our Final DFS Solution
• Урок 99. 00:08:32
Question #18 - Number Of Nodes In Complete Tree
• Урок 100. 00:10:27
Thinking Deeply About A Full Binary Tree
• Урок 101. 00:15:29
Figuring Out Number Of Nodes At Last Level
• Урок 102. 00:20:40
Coding Out Our Full Solution
• Урок 103. 00:08:48
Question #19 - Validate Binary Search Tree
• Урок 104. 00:15:05
• Урок 105. 00:06:54
Figuring Out Our Boundaries
• Урок 106. 00:07:59
Coding Our Our Full Solution
• Урок 107. 00:08:46
Introducing Heaps
• Урок 108. 00:07:36
Insertion In Heaps - Understanding Sift Up
• Урок 109. 00:10:49
Deletion In Heaps - Understanding Sift Down
• Урок 110. 00:10:49
Starting To Code Our Priority Queue Class
• Урок 111. 00:05:50
Coding Our Insertion And Sift Up Methods
• Урок 112. 00:13:01
Coding Our Deletion And Sift Down Methods
• Урок 113. 00:07:24
Introducing 2D Arrays - What Are They?
• Урок 114. 00:07:25
Depth First Search In 2D-Arrays
• Урок 115. 00:09:44
Coding DFS - Setting Up For DFS
• Урок 116. 00:08:41
Coding DFS - Implementing Recursive DFS
• Урок 117. 00:07:49
• Урок 118. 00:10:06
Coding BFS
• Урок 119. 00:09:10
A General Approach To Thinking About Most Graph Questions
• Урок 120. 00:07:51
Question #20 Number Of Islands
• Урок 121. 00:16:12
Approaching Our Problem - Thinking Deeply About The Values
• Урок 122. 00:08:56
Approaching Our Problem - Thinking About Traversals
• Урок 123. 00:19:09
Coding Our Solution
• Урок 124. 00:14:39
Thinking About Space And Time Complexity
• Урок 125. 00:06:58
Question #21 Rotting Oranges
• Урок 126. 00:11:05
Figuring Out Our Initial Logic
• Урок 127. 00:14:28
Figuring Out The Rest Of Our Solution
• Урок 128. 00:14:48
Coding Out Our Solution
• Урок 129. 00:06:20
Question #22 - Walls And Gates
• Урок 130. 00:12:17
Figuring Out Our Logical Solution
• Урок 131. 00:11:46
Coding Out Our Solution
• Урок 132. 00:11:07
Introduction To The Types Of Graphs
• Урок 133. 00:07:20
• Урок 134. 00:04:40
• Урок 135. 00:07:54
Coding BFS
• Урок 136. 00:03:04
Depth First Search In Graphs
• Урок 137. 00:07:04
Coding DFS
• Урок 138. 00:12:52
Question #23 - Time Needed to Inform All Employees
• Урок 139. 00:08:13
Verifying Our Constraints And Thinking About Test Cases
• Урок 140. 00:09:38
How To Represent Our Graph As An Adjacency List
• Урок 141. 00:07:49
Solving Our Problem Logically Using DFS Traversal
• Урок 142. 00:10:02
Coding Our DFS Solution
• Урок 143. 00:10:25
Question #24 - Course Scheduler
• Урок 144. 00:07:57
Thinking About Our Initial Solution - BFS
• Урок 145. 00:15:29
Coding Out Our Initial BFS Solution
• Урок 146. 00:07:56
What is Topological Sort?
• Урок 147. 00:04:50
Thinking About A Solution With Topological Sort
• Урок 148. 00:15:48
Coding Our Final Solution
• Урок 149. 00:12:40
Question #25 - Network Time Delay
• Урок 150. 00:08:38
Thinking About How To Approach The Problem
• Урок 151. 00:15:31
Greedy Method & What Is Dijkstra's Algorithm?
• Урок 152. 00:08:56
Thinking About A Solution With Dijkstra's Algorithm
• Урок 153. 00:17:33
Coding Our Solution With Dijkstra
• Урок 154. 00:13:09
Time And Space Complexity Of Our Solution
• Урок 155. 00:07:42
• Урок 156. 00:16:23
What is The Bellman-Ford Algorithm? - Conceptualizing Dynamic Programming
• Урок 157. 00:16:18
What is The Bellman-Ford Algorithm? - The Algorithm Itself
• Урок 158. 00:09:20
Coding Our Solution With Bellman-Ford
• Урок 159. 00:09:39
Question #26 - Minimum Cost Of Climbing Stairs & How To Approach DP
• Урок 160. 00:15:49
Understanding & Identifying Recurrence Relation
• Урок 161. 00:05:35
First Step - Recursive Solution From Recurrence Relation
• Урок 162. 00:07:50
Second Step - Memoizing Our Redundant Recursive Calls
• Урок 163. 00:07:51
Coding Our Memoization Optimization
• Урок 164. 00:06:30
Understanding The Bottom Up Approach (Tabulation)
• Урок 165. 00:05:25
Third Step - Bottom Up Tabulation
• Урок 166. 00:06:53
Fourth Step - Bottom Up Optimization
• Урок 167. 00:10:10
Question #27 - Knight Probability In Chessboard
• Урок 168. 00:03:52
Thinking About Test Cases To Help Us
• Урок 169. 00:15:30
Identifying The Recurrence Relation
• Урок 170. 00:05:11
First Step - Recursive Solution From Recurrence Relation
• Урок 171. 00:14:14
Second Step - Memoizing Our Redundant Recursive Calls
• Урок 172. 00:14:00
Figuring Out The Logic For Our Bottom Up Solution
• Урок 173. 00:08:32
Third Step - Bottom Up Tabulation
• Урок 174. 00:06:56
Fourth Step - Bottom Up Optimization
• Урок 175. 00:07:07
Understanding The Basics Of Backtracking
• Урок 176. 00:04:20
Question #28 - Sudoku Solver
• Урок 177. 00:11:19
Learning The Backtracking Template
• Урок 178. 00:06:43
Applying Our Backtracking Template To Sudoku Solver Logic
• Урок 179. 00:07:50
Coding How To Get Box ID
• Урок 180. 00:07:06
Setting Up Our Solution Code
• Урок 181. 00:19:19
Coding The Recursive Backtracking Portion Of Our Solution
• Урок 182. 00:06:59
Thinking About The Space And Time Complexity
• Урок 183. 00:10:53
Understanding Interface Design & Question #29 - Monarchy
• Урок 184. 00:05:58
Figuring Out Our Test Cases
• Урок 185. 00:09:42
Thinking About The Logical Of The Monarchy
• Урок 186. 00:14:58
Coding Our Monarchy Solution
• Урок 187. 00:01:08
Introducing Tries
• Урок 188. 00:09:50
Question #30 - Implement Prefix Trie
• Урок 189. 00:03:55
Understanding The Logic For Our Methods
• Урок 190. 00:15:16
Implementing Our Prefix Trie Data Structure Solution
• Урок 191. 00:02:25
Section Overview
• Урок 192. 00:06:58
What Is Good Code?
• Урок 193. 00:11:09
Big O and Scalability
• Урок 194. 00:05:40
O(n)
• Урок 195. 00:06:11
O(1)
• Урок 196. 00:05:55
Solution: Big O Calculation
• Урок 197. 00:02:30
Solution: Big O Calculation 2
• Урок 198. 00:01:51
Simplifying Big O
• Урок 199. 00:04:29
Big O Rule 1
• Урок 200. 00:06:37
Big O Rule 2
• Урок 201. 00:03:14
Big O Rule 3
• Урок 202. 00:07:14
O(n^2)
• Урок 203. 00:06:48
Big O Rule 4
• Урок 204. 00:03:19
Big O Cheat Sheet
• Урок 205. 00:05:33
What Does This All Mean?
• Урок 206. 00:01:19
O(n!)
• Урок 207. 00:03:33
3 Pillars Of Programming
• Урок 208. 00:02:23
Space Complexity
• Урок 209. 00:06:25
Exercise: Space Complexity
• Урок 210. 00:07:14
• Урок 211. 00:04:44
Section Summary
• Урок 212. 00:13:52
Arrays Introduction
• Урок 213. 00:06:41
Static vs Dynamic Arrays
• Урок 214. 00:17:20
Optional: Implementing An Array
• Урок 215. 00:04:11
Hash Tables Introduction
• Урок 216. 00:05:57
Hash Function
• Урок 217. 00:09:44
Hash Collisions
• Урок 218. 00:02:02
Hash Tables VS Arrays
• Урок 219. 00:02:27
• Урок 220. 00:04:37
• Урок 221. 00:02:06
• Урок 222. 00:05:36
• Урок 223. 00:05:46
What Is A Pointer?
• Урок 224. 00:03:19
• Урок 225. 00:02:41
• Урок 226. 00:05:08
• Урок 227. 00:02:59
Stacks + Queues Introduction
• Урок 228. 00:03:29
Stacks
• Урок 229. 00:03:31
Queues
• Урок 230. 00:03:07
Exercise: Stacks VS Queues
• Урок 231. 00:03:40
Solution: Stacks VS Queues
• Урок 232. 00:02:20
Stacks + Queues Review
• Урок 233. 00:06:24
Trees Introduction
• Урок 234. 00:05:46
Binary Trees
• Урок 235. 00:07:01
O(log n)
• Урок 236. 00:06:13
Binary Search Tree
• Урок 237. 00:03:43
Balanced VS Unbalanced BST
• Урок 238. 00:02:27
BST Pros and Cons
• Урок 239. 00:03:17
Trie
• Урок 240. 00:03:57
Graph + Tree Traversals
• Урок 241. 00:02:46
BFS Introduction
• Урок 242. 00:03:24
DFS Introduction
• Урок 243. 00:03:21
BFS vs DFS
• Урок 244. 00:00:45
Exercise: BFS vs DFS
• Урок 245. 00:03:17
Solution: BFS vs DFS
• Урок 246. 00:09:16
• Урок 247. 00:05:22
PreOrder, InOrder, PostOrder
• Урок 248. 00:12:04
depthFirstSearch()
• Урок 249. 00:05:37
Recursion Introduction
• Урок 250. 00:06:18
Stack Overflow
• Урок 251. 00:10:28
Anatomy Of Recursion
• Урок 252. 00:04:17
Recursive VS Iterative
• Урок 253. 00:04:01
When To Use Recursion
• Урок 254. 00:02:48
Recursion Review
• Урок 255. 00:07:02
Sorting Introduction
• Урок 256. 00:06:52
The Issue With sort()
• Урок 257. 00:03:39
Sorting Algorithms
• Урок 258. 00:03:46
Bubble Sort
• Урок 259. 00:05:07
Solution: Bubble Sort
• Урок 260. 00:02:40
Selection Sort
• Урок 261. 00:02:24
Solution: Selection Sort
• Урок 262. 00:01:37
Dancing Algorithms
• Урок 263. 00:02:39
Insertion Sort
• Урок 264. 00:02:07
Solution: Insertion Sort
• Урок 265. 00:09:00
Merge Sort and O(n log n)
• Урок 266. 00:04:45
Solution: Merge Sort
• Урок 267. 00:07:41
Quick Sort