Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Competititve Programming & Coding Interviews - Python
Rating: 4.4 out of 5(23 ratings)
465 students

Competititve Programming & Coding Interviews - Python

Build the foundation in Algorithms and Data Structures to ace Competitive Programming & Coding Interviews
Created byAndrei Chiriac
Last updated 9/2023
English
English [Auto],

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
  • Get ready for Codeforces, CodeChef, Hackerrank, ACM-ICPC and more

Course content

11 sections77 lectures28h 13m total length
  • Longest Common Prefix22:37

    Master the longest common prefix problem by building from two strings to multiple strings using a bulletproof approach, analyze time complexity O(n·L) and space O(L) in Python.

  • Maximum Value And Number Of Occurences13:33

    Solve the maximum value and its occurrences in one pass using a bulletproof approach in Python, updating max value and counter as you scan the array.

  • Maximum Consecutive Ones20:17

    Teach the maximum consecutive ones problem with a bulletproof Python and JavaScript approach, using a counter and the longest subarray found so far, plus O(n) time and O(1) space.

  • Majority Element24:35

    Identify the majority element by sorting nums, counting consecutive occurrences with a counter, and updating the max counter and solution in Python.

  • Number Of Distinct Values - Solution 126:38

    Sort the array, count a value when it differs from the previous element to get the distinct value count. Note the O(n log n) time and constant memory.

  • Single Number28:19

    solve the single number problem in python by sorting the array, checking neighbors, and handling edge cases, with a time complexity of O(n log n) and constant extra space.

  • Find Duplicates23:54

    Learn a bulletproof approach to find duplicates in an array by sorting, using a dedicated is_duplicate helper to handle edge cases, and appending each duplicate only once in Python.

  • Find Second Largest - O(n log n)7:21

    Sort the array and scan from the end to return the first value distinct from the largest, solving the second largest problem with O(n log n) time.

  • Find Second Largest20:47

    Find the second largest distinct value in an array in O(n) time without sorting, using two trackers for largest and second largest and careful initialization.

  • Group Anagrams29:04

    Group anagrams in Python by sorting each string and grouping the originals into sublists, then sort by the sorted keys to keep anagrams together while preserving original strings.

  • Count Binary Substrings19:55

    Count binary substrings by partitioning the string into runs of consecutive zeros or ones and summing the minimum length of each adjacent pair.

  • Rotate One To Right29:43

    rotate one to the right in place on an array of nums in Python, without extra space, with last becoming first through in-place swaps using a constant auxiliary value.

  • Minimum Absolute Difference32:42

    Explore the minimum absolute difference problem, compare brute force pairs, and learn to solve it by sorting the array and checking consecutive neighbors for optimal time complexity.

  • Best Time To Buy And Sell One Stock25:41

    Learn how to maximize stock profit by buying on one day and selling later, via brute-force O(n^2) and optimized O(n) approaches using a running max price.

  • Increasing Triplet20:17

    Explore the increasing triplet problem, from brute force with three loops to O(n^2) using suffix max, then reach O(n) with a middle index and prefix min.

Requirements

  • Just basic knowledge of Python language (variables, loops, statements)

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 9 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.


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 coding 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 practices 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:

  • Anyone wishing to crush Competitive Programming
  • Anyone wishing to get their dream job