The Bible of Coding Interviews and Competitive Programming
4.4 (205 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
4,934 students enrolled

The Bible of Coding Interviews and Competitive Programming

Build the foundation in Algorithms and Data Structures and ace Competitive Programming Contests and Technical Interviews
4.4 (205 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
4,935 students enrolled
Created by Andrei Chiriac
Last updated 6/2020
English
English [Auto]
Current price: $89.99 Original price: $149.99 Discount: 40% off
2 days left at this price!
30-Day Money-Back Guarantee
This course includes
  • 15 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Build a solid foundation to become a Competitive Programming wizard
  • Master revolutionary data structures and various types of problems using each of them
  • Learn fundamental algorithms and solve classical problems
  • Strengthen your problem solving and coding skill
Requirements
  • Basic knowledge of C/C++ language
  • NO experience with Competitive Programming or Technical Interviews required!
Description

This course is going to be your bible on solving each coding interview question and competitive programming challenge. The content is based on my 6 year experience of struggling to find and solve a wide range of problems and develop the system for mastering this skill. I cover the exact same content that has helped my students' performance skyrocket and got them offers at top companies like Google, Facebook and Amazon and solid results in the International Competitive Programming Contests.

We start from basics such as Mathematics Fundamentals: Prime Numbers, Sieve of Eratosthenes, Fast Modular Exponentiation. Then we dive into interesting challenges and gold tricks on arrays and matrices, followed by Binary Search, Recursion and Divide and Conquer. We continue by exploring fundamental data structures such as Stack, Queue, Deque, Heap and Hash Table. Then, after building a solid foundation, we explore complex topics such as Greedy and Dynamic Programming, in which I reveal bulletproof formulas that guide you in solving every single problem of that specific type.


Here's what make this course amazing:

  • I guide you through the line of my thought when solving each problem, focusing on building the general approach for any type of problem you can encounter in competitive programming contests or software developing interviews.

  • You will learn all the theory needed, but our main focus here is on practical applications.

  • I share with you problem solving tricks and good coding practises that took me years and hundreds of problems to figure out.

  • It's interactive and engaging: I try to keep the theory as simple and natural as possible and we work as a team in solving any problem.

Do you think it's finally the time to get the Software Developer Job or the results in Competitive Programming you deserve? Follow me!

Who this course is for:
  • Beginner Computer Science Students wishing to get their dream job
  • Students wishing to perform well in Competitive Programming Contests
Course content
Expand all 108 lectures 14:46:02
+ Mathematical Fundamentals
11 lectures 01:20:56
Prime Number Test
04:47

Homework: Change the for loop in the code in order for our program to run in O( sqrt(n) ) time complexity.

The solution is in the source code.

Prime Number Test - Implementation
08:44
Prime Factorization
10:06
Prime Factorization - Implementation
06:56
Sieve of Eratosthenes
07:24
Sieve of Eratosthenes - Implementation
07:14
Fast Modular Exponentiation - Iterative Implementation
12:20
Pigeonhole Principle Problem
06:15
Pigeonhole Principle - Implementation
02:35
+ Arrays
14 lectures 01:55:17
Partial Sums
06:13
Partial Sums - Implementation
01:08
Range Update Trick
10:41
Frequency Array
05:20
Maximum Sum Subarray - Greedy Approach
12:11
Maximum Sum Subarray - Greedy Approach Implementation
02:26
Maximum Sum Subarray - Partial Sums Approach Implementation
04:49
Longest Consecutive Numbers Subarray
09:44
Longest Consecutive Numbers Subarray - Implementation
06:33
Introduction to Sliding Window Technique + Problem Example
06:03
Sliding Window Technique Solution
09:18
Sliding Window Technique Solution - Implementation
13:50
Introduction to the STL Vector
18:33
+ Matrices
6 lectures 01:07:25
Partial Sums
19:02
Range Update Trick
12:10
Maximum Sum Submatrix - Implementation
07:30
Maximum size square full of 1's
08:10
Maximum size square full of 1's - Implementation
08:05
+ Binary Search
8 lectures 01:05:56
Introduction to Binary Search
09:34
Binary Search - Implementation
02:17
Minimum Capacity Transportation Problem
13:16
Minimum Capacity Transportation - Implementation
07:39
Maximum Number of Groups Problem
13:37
Maximum Number of Groups - Implementation
01:56
Maximum Special Distance Problem
12:58
Maximum Special Distance - Implementation
04:39
+ Recursion
3 lectures 33:53
Introduction to Recursion
06:11
Fill Algorithm
12:42
Fill Algorithm - Implementation
15:00
+ Divide and Conquer
6 lectures 53:37
Merge Sort - Sorting Algorithm
07:44
Merge Sort - Merging two arrays + Implementation
08:21
Merge Sort - Time Complexity
04:47
Maximum Sum Subarray
13:35
Z-Traversal Problem
13:14
Z-Traversal - Implementation
05:56
+ Stack
9 lectures 01:00:45
Introduction to Stack
06:55
Valid Parentheses Problem
06:03
Valid Parentheses - Implementation
04:34
First Greater Element Problem
09:16
First Greater Element - Implementation
04:53
Largest Rectangular Area in a Histogram
09:31
Largest Rectangular Area in a Histogram - Implementation
04:55
Maximum area rectangle full of 1's
12:52
Maximum area rectangle full of 1's - Implementation
01:46
+ Queue
3 lectures 22:59
Introduction to Queue
07:53
Lee's Algorithm
09:24
Lee's Algorithm - Implementation
05:42
+ Deque
5 lectures 32:14
Introduction to Deque
05:28
Minimum of K-length subarrays
09:20
Minimum of K-length subarrays - Implementation
02:58
Maximum Sum Subarray with length in given range
10:50
Maximum Sum Subarray with length in given range - Implementation
03:38