Solving Programming Interview Problems in Python
Introduction
Programming Basics
Number Theory
Prime Numbers
Factorials
Factorization
Greatest Common Divisor
Additional Problems
Arrays
Working with Lists in Python
Using arrays as containers
Traversal
Binary Search
Two Pointers
Modifying Elements
Sorting
Circular Buffer
2D Arrays
Additional Problems
Linked Lists
Singly Linked Lists
Doubly Linked Lists
Circular Linked Lists
Skip Lists
Additional Problems
Stacks, Queues, and Dequeues
Stacks
Queues
Dequeues
Hashing
HashSets
HashMaps
Additional Problems
Graphs
Binary Trees
Binary Search Trees
Heaps
Prefix Trees
DFS and BFS
Topological Sort
Connected Components
Shortest Paths
Segment Trees
Union Find
Additional Problems
Recursion and Backtracking
Divide and Conquer
Backtracking
Additional Problems
Dynamic Programming and Memoization
1D Dynamic Programming
2D Dynamic Programming
Memoization
Additional Problems
Greedy Algorithms
Problems
Bit Manipulation
Power of 2
Distinct Element
Additional Problems
Search
Two Pointers
Binary Search
Sorting
Sorting in Linear Time
Merger Sort and Quick Sort
String Processing
Palindrome Problems
String Alignment
Longest Common Subsequence
String Matching in a Matrix
Additional Problems
Combinatorics
Fibonacci Numbers
Binomial Coefficients
Catalan Numbers
Permutations
Integer Partition
Additional Problems
Techniques
Prefix Sum
Range Sum
Sliding Window
Two Pointers
Inversion Index
Majority Element
Additional Problems
Brain Teasers
Ant on a rubber rope
Flipping Coins
2 Jugs of Water
Powered by
GitBook
Linked Lists
results matching "
"
No results matching "
"