Этот материал находится в платной подписке. Оформи премиум подписку и смотри или слушай 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
    Thinking About Our Optimal Solution
  • Урок 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
    Thinking About A Logical Solution
  • Урок 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
    Thinking About Optimal Solution
  • Урок 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
    Linked List Introduction
  • Урок 48. 00:08:22
    Basic Algorithm: Reverse a Linked List
  • Урок 49. 00:10:56
    Thinking About Our Solution
  • Урок 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
    Thinking About Our Approach
  • Урок 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
    Thinking About Our Solution
  • Урок 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
    Thinking About Our Logical Solution
  • Урок 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
    Breadth First Search In 2D-Arrays
  • Урок 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
    Representing Our Graphs - Adjacency List & Adjacency Matrix
  • Урок 134. 00:04:40
    Breadth First Search In Graphs
  • Урок 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
    Thinking About Negative Weights
  • Урок 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
    Exercise: Twitter
  • Урок 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
    Linked Lists Introduction
  • Урок 220. 00:04:37
    What Is A Linked List?
  • Урок 221. 00:02:06
    Exercise: Why Linked Lists?
  • Урок 222. 00:05:36
    Solution: Why Linked Lists?
  • Урок 223. 00:05:46
    What Is A Pointer?
  • Урок 224. 00:03:19
    Doubly Linked Lists
  • Урок 225. 00:02:41
    Singly VS Doubly Linked Lists
  • Урок 226. 00:05:08
    Linked Lists Review
  • Урок 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
    breadthFirstSearch()
  • Урок 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