Содержание курса
Welcome
8 уроков
1.
Welcome
↗
2.
About This Book
↗
3.
Preparing for a Coding Interview
↗
4.
Programming Challenges
↗
5.
Interactive Algorithmic Puzzles
↗
6.
Interview Questions
↗
7.
Certificate
↗
8.
Meet Our team
↗
Algorithms and Complexity
3 урока
1.
What Is an Algorithm?
↗
2.
Fast Versus Slow Algorithms
↗
3.
Running Time and the Big-O Notation
↗
Algorithm Design Techniques
6 уроков
1.
Algorithm Design Techniques
↗
2.
Greedy Algorithms
↗
3.
Dynamic Programming Algorithms
↗
4.
Recursive Algorithms
↗
5.
Divide-and-Conquer Algorithms
↗
6.
Randomized Algorithms
↗
Programming Challenges
4 урока
1.
Programming Challenges
↗
2.
Sum of Two Digits
↗
3.
Maximum Pairwise Product
↗
4.
Solving a Programming Challenge in Five Easy Steps
↗
Algorithmic Warm Up
12 уроков
1.
Algorithmic Warm Up
↗
2.
Fibonacci Number
↗
3.
Last Digit of Fibonacci Number
↗
4.
Huge Fibonacci Number
↗
5.
Last Digit of the Sum of Fibonacci Numbers
↗
6.
Last Digit of the Partial Sum of Fibonacci Numbers
↗
7.
Last Digit of the Sum of Squares of Fibonacci Numbers
↗
8.
Greatest Common Divisor
↗
9.
Least Common Multiple
↗
10.
Summary of Algorithmic Ideas
↗
11.
Josephus Problem
↗
12.
Range Sum Queries
↗
Greedy Algorithms
17 уроков
1.
Greedy Algorithms
↗
2.
Money Change
↗
3.
Maximum Value of the Loot
↗
4.
Car Fueling
↗
5.
Maximum Advertisement Revenue
↗
6.
Collecting Signatures
↗
7.
Maximum Number of Prizes
↗
8.
Maximum Salary
↗
9.
Job Scheduling
↗
10.
Mice and a Fox
↗
11.
Party Planning at Work
↗
12.
Cooking a Dinner
↗
13.
Graph Coloring
↗
14.
Connect Ropes with Minimal Cost
↗
15.
Bulb Switching
↗
16.
Friends Seat Together
↗
17.
Minimum Unchangeable Amount
↗
Divide-and-Conquer
18 уроков
1.
Divide-and-Conquer
↗
2.
Binary Search
↗
3.
Binary Search with Duplicates
↗
4.
Majority Element
↗
5.
Speeding-up RandomizedQuickSort
↗
6.
Number of Inversions
↗
7.
Organizing a Lottery
↗
8.
Closest Points
↗
9.
Count of an Element in a Sorted Array
↗
10.
Median of Two Sorted Arrays
↗
11.
Smallest Missing Element in a Sorted Array
↗
12.
Unbounded Binary Search
↗
13.
Duplicate Search
↗
14.
Minimal Element in a Circularly Sorted Array
↗
15.
Anagram Search
↗
16.
Segregate Negative and Positive Integers
↗
17.
Maximum-Sum Interval
↗
18.
Searching a Sorted Matrix
↗
Dynamic Programming
19 уроков
1.
Dynamic Programming
↗
2.
Money Change Again
↗
3.
Primitive Calculator
↗
4.
Edit Distance
↗
5.
Longest Common Subsequence of Two Sequences
↗
6.
Longest Common Subsequence of Three Sequences
↗
7.
Maximum Amount of Gold
↗
8.
Splitting the Pirate Loot
↗
9.
Maximum Value of an Arithmetic Expression
↗
10.
Designing Dynamic Programming Algorithms
↗
11.
Longest Palindromic Subsequence
↗
12.
Longest Repeating Subsequence
↗
13.
Interleaving Strings
↗
14.
Domino Tiling
↗
15.
Coloring a Board
↗
16.
Contrast House Painting
↗
17.
Non-intersecting Chords
↗
18.
Fun Party Planning at Work
↗
19.
The Coin Game
↗
Best Programming Practices (Optional)
3 урока
1.
Language Independent
↗
2.
C++ Specific
↗
3.
Python Specific
↗
Appendix
1 урок
1.
Frequently Asked Questions
↗