Data Structures + Algorithms to Crack the Coding Interview

Only in The Data Structures, Algorithms and Time Complexity Guide, learn the best way to answer an interview question, look at the most commonly asked questions, and analyze time complexity of various algorithms.

Interview Question Solutions and Time Complexity

Learn through hands-on coding examples and learn to solve problems quickly.

Refresh your C# knowledge and solve new problems with the most common beginner interview questions asked by FANG companies.

Algorithms & Data Structures – Ultimate Coding Interview Prep

Learn the most commonly asked questions by the likes of Facebook, Google, Amazon and Spotify for beginners.

Preparing for the C# interview is hard. You need to understand not only concepts but also be able to articulate your thought process as you plan and execute a solution.

COURSE BREAKDOWN

Section 0: Introduction to Interview Questions

•Course Overview

•FizzBuzz: Print the numbers from 1 to 100 and for multiples of ‘3’ print “Fizz” instead of the number and for the multiples of ‘5’ print “Buzz”.

•Types of Time Complexity: Learn the types of time complexity in Big-O Notation in order of horrible to good.

Section 1: String/Array Interview Questions

•01 Reverse Words in a String: Given an input string, reverse the string word by word.

•02 Rotate Array: Rotate an array of n elements to the left by k steps.

•03 Isomorphic Strings: Given two strings a and b, determine if they are isomorphic.

•04 Kth Largest Element in an Array: Find the kth largest element in an unsorted array. Note that it is the kth largest element in the sorted order, not the kth distinct element.

Section 2: Matrix Interview Questions

•01 Set Matrix Zeroes: Given a 2D matrix, if an element is 0, set its entire row and column to 0. Do it in place.

•02 Spiral Matrix: Given a 2D matrix, return all elements of the matrix in spiral order.

•03 Number of Islands: Given a 2D grid map of 1s (land) and 0s (water), count the number of islands.

Section 3: Linked List Interview Questions

•01 Implement a Stack Using an Array: Implement a stack using an array.

•02 Add Two Numbers: You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list.

•03 Reverse a Linked List: Reverse a singly linked list.

Section 4: Tree Interview Questions

•01 Inorder Traversal: Perform inorder traversal on a binary tree.

•02 Preorder Traversal: Perform inorder traversal on a binary tree.

•03 Postorder Traversal: Perform inorder traversal on a binary tree.

•04 Binary Tree Maximum Path Sum: Given a binary tree, find the maximum path sum.

Section 5: Graph Interview Questions

•01 Clone an Undirected Graph: Each node in the graph contains a label and a list of its neighbors.

Section 6: Sorting and Time Complexity

•01 Bubble Sort Algorithm: Sort a list with bubble sort.

•02 Selection Sort Algorithm: Sort a list with selection sort.

•03 Insertion Sort Algorithm: Sort a list with insertion sort.

•04 Quick Sort Algorithm: Sort a list with Quick Sort.

•05 Merge Sort Algorithm: Sort a list with Merge Sort.

•06 Time Complexity of Different Sorting Algorithms

Section 7 Dynamic Programming Interview Questions

•01 Coin Change: You are given coins of different denominations and a total amount of money amount. Write a function to compute the fewest number of coins that you need to make up that amount.

•02 Edit Distance: Find the edit distance between two strings.

•03 Distinct Subsequences: Given a string S and a string T, count the number of distinct subsequences of T in S.

•04 Maximum Sum Subarray: Find the sum of contiguous subarray within a one-dimensional array of numbers which has the largest sum

Section 8 Bit Manipulation Interview Questions

•01 Bitwise and Shift Operators: Manipulate bits and shift bits to change values.

•02 Single Number: Given an array of integers, every element appears twice except for one. Find that single one.

•03 Sum of Two Integers: Calculate the sum of two integers a and b, but you are not allowed to use the operator + and -.

•04 Number of 1 Bits: Take an unsigned integer and return the number of ’1′ bits it has (also known as the Hamming weight.)

•05 Reverse Bits: Reverse the bits of a given 32 bit unsigned integer.

•06 Bitwise AND of a Range: Given two non-negative long integers, a and b and given a <= b, find the bitwise AND of all integers from a and b.

Section 9 Combinations and Permutations Interview Questions

•01 Permutations: Print all permutations of a given string.

•02 Distinct Permutations of a String: Print all distinct permutations of a string that contains duplicates.

•03 Letter Combinations of a Phone Number: Given a digit string, return all possible letter combinations that the number could represent on a phone board.

•04 Factor Combination: Return all possible combinations of an integer n’s factors.

Section 10 Math Interview Questions

•01 Reverse Integer: Reverse the digits of an integer n.

•02 Palindrome Number: Determine whether an integer is a palindrome. Do this without extra space.

•03 Excel Sheet Column Numbe: Given a column title from an Excel sheet, return its corresponding column number.

A SCHOOL YOU CAN TRUST

•Lifetime access that never expires

•Project-based curriculum to superboost your portfolio

•Graduation certificate for every course

•Absolute beginner-friendly

•New courses every month

•Efficient lectures with step by step explanations

•Relevant industry topics 8 years of award-winning course delivery

•800,000 students in 186 countries

•Learn with free tools and affordable courses

REVIEWS OF MAMMOTH COURSES

Captivating voice, easy to follow at a rapid pace, get some paper and fasten your seat-belts. I’m enjoying every second of this.

— PHILIP MURRAY

I have completed many Udemy tutorials. This one is the most outstanding one that I have seen thus far. It is doubtful that it could be topped. This is a superior tutorial. Amazing.

— JOSEPH APPLEGARTH

COURSE AUTHOR

Alexandra Kropova, Software Developer at Mammoth Interactive INC.

Alexandra Kropova is a software developer specializing in OOP and JavaScript, with extensive experience in full-stack web development and app development. She has helped produce courses for Mammoth Interactive INC. since 2016, including the Coding Interview series in Java, JavaScript, C++, C#, Python and Swift.