Coder Social home page Coder Social logo

algoexpert.io's Introduction

Algoexpert.io

algoexpert.io is a good resource to prepare for coding interviews. This repo contains my solutions of AE problems.

See index section below, there are solution grouped by both difficulty and category.

Group by difficulty

Easy (31/31) Medium (73/73) Hard (45/58) Very Hard (1/38)
Binary Search Array Of Products Ambiguous Measurements A* Algorithm
Branch Sums BST Construction Boggle Board Airport Connections
Bubble Sort BST Traversal Continuous Median All Kinds Of Node Depths
Caesar Cipher Encryptor Balanced Brackets Count Squares Apartment Hunting
Class Photos Best Digits Dice Throws Calendar Matching
Common Characters Best Seat Dijkstra's Algorithm Compare Leaf Traversal
Depth-first Search Binary Tree Diameter Disk Stacking Count Inversions
Evaluate Expression Tree Blackjack Probability Find Loop Detect Arbitrage
Find Closest Value In BST Breadth-first Search Find Nodes Distance K Flatten Binary Tree
Find Three Largest Numbers Colliding Asteroids Four Number Sum Iterative In-order Traversal
First Non-Repeating Character Cycle In Graph Generate Div Tags Knuth—Morris—Pratt Algorithm
Generate Document Find Kth Largest Value In BST Heap Sort LRU Cache
Insertion Sort Find Successor Index Equals Value Largest Park
Middle Node First Duplicate Value Interweaving Strings Line Through Points
Minimum Waiting Time Group Anagrams Juice Bottling Linked List Palindrome
Node Depths Height Balanced Binary Tree Knapsack Problem Longest Balanced Substring
Non-Constructible Change Invert Binary Tree Knight Connection Longest Increasing Subsequence
Nth Fibonacci Kadane's Algorithm Kruskal's Algorithm Longest String Chain
Optimal Freelancing Levenshtein Distance Laptop Rentals Max Profit With K Transactions
Palindrome Check Linked List Construction Largest Island Median Of Two Sorted Arrays
Product Sum Longest Palindromic Substring Largest Range Merge Sort
Remove Duplicates From Linked List Longest Peak Largest Rectangle Under Skyline Merge Sorted Arrays
Run-Length Encoding Majority Element Longest Common Subsequence Minimum Area Rectangle
Selection Sort Max Subset Sum No Adjacent Longest Most Frequent Prefix Node Swap
Semordnilap Merge Binary Trees Longest Subarray With Sum Non-Attacking Queens
Sorted Squared Array Merge Overlapping Intervals Longest Substring Without Duplication Number Of Binary Tree Topologies
Tandem Bicycle Merging Linked Lists Lowest Common Manager Optimal Assembly Line
Tournament Winner Min Heap Construction Max Path Sum In Binary Tree Palindrome Partitioning Min Cuts
Transpose Matrix Min Height BST Max Sum Increasing Subsequence Rearrange Linked List
Two Number Sum Min Max Stack Construction Maximize Expression Rectangle Mania
Validate Subsequence Min Number Of Coins For Change Maximum Sum Submatrix Right Sibling Tree
Minimum Characters For Words Merge Linked Lists Right Smaller Than
Minimum Passes Of Matrix Min Number Of Jumps Smallest Substring Containing
Missing Numbers Min Rewards Square of Zeroes
Monotonic Array Multi String Search Strings Made Up Of Strings
Move Element To End Numbers In Pi Two-Edge-Connected Graph
Next Greater Element Pattern Matcher Waterfall Streams
Number Of Ways To Make Change Prim's Algorithm Zip Linked List
Number Of Ways To Traverse Graph Quick Sort
One Edit Quickselect
Permutations Radix Sort
Phone Number Mnemonics Repair BST
Powerset Reverse Linked List
Reconstruct BST Same BSTs
Remove Islands Search For Range
Remove Kth Node From End Shift Linked List
Reveal Minesweeper Shifted Binary Search
Reverse Polish Notation Shorten Path
Reverse Words In String Shortest Unique Prefixes
River Sizes Solve Sudoku
Search In Sorted Matrix Sort K-Sorted Array
Single Cycle Check Subarray Sort
Smallest Difference Sum BSTs
Sort Stack Topological Sort
Spiral Traverse Underscorify Substring
Split Binary Tree Validate Three Nodes
Stable internships Water Area
Staircase Traversal Zigzag Traverse
Suffix Trie Construction
Sum of Linked Lists
Sunset Views
Sweet And Savory
Symmetrical Tree
Task Assignment
Three Number Sort
Three Number Sum
Two-Colorable
Union Find
Valid IP Addresses
Valid Starting City
Validate BST
Youngest Common Ancestor
Zero Sum Subarray

Group by category

Arrays (28/33)

Name Difficulty
Tournament Winner Easy
Two Number Sum Easy
Non-Constructible Change Easy
Validate Subsequence Easy
Transpose Matrix Easy
Sorted Squared Array Easy
Majority Element Medium
Missing Numbers Medium
Spiral Traverse Medium
Sweet And Savory Medium
Move Element To End Medium
Monotonic Array Medium
Zero Sum Subarray Medium
Merge Overlapping Intervals Medium
Longest Peak Medium
Array Of Products Medium
Best Seat Medium
First Duplicate Value Medium
Smallest Difference Medium
Three Number Sum Medium
Knight Connection Hard
Count Squares Hard
Four Number Sum Hard
Subarray Sort Hard
Longest Subarray With Sum Hard
Largest Range Hard
Zigzag Traverse Hard
Min Rewards Hard
Apartment Hunting Very Hard
Line Through Points Very Hard
Minimum Area Rectangle Very Hard
Waterfall Streams Very Hard
Calendar Matching Very Hard

Binary Search Trees (11/12)

Name Difficulty
Find Closest Value In BST Easy
BST Construction Medium
Validate BST Medium
BST Traversal Medium
Min Height BST Medium
Find Kth Largest Value In BST Medium
Reconstruct BST Medium
Same BSTs Hard
Validate Three Nodes Hard
Repair BST Hard
Sum BSTs Hard
Right Smaller Than Very Hard

Binary Trees (12/17)

Name Difficulty
Node Depths Easy
Evaluate Expression Tree Easy
Branch Sums Easy
Merge Binary Trees Medium
Invert Binary Tree Medium
Binary Tree Diameter Medium
Split Binary Tree Medium
Symmetrical Tree Medium
Find Successor Medium
Height Balanced Binary Tree Medium
Max Path Sum In Binary Tree Hard
Find Nodes Distance K Hard
All Kinds Of Node Depths Very Hard
Compare Leaf Traversal Very Hard
Right Sibling Tree Very Hard
Flatten Binary Tree Very Hard
Iterative In-order Traversal Very Hard

Dynamic Programming (17/21)

Name Difficulty
Number Of Ways To Traverse Graph Medium
Number Of Ways To Make Change Medium
Min Number Of Coins For Change Medium
Max Subset Sum No Adjacent Medium
Levenshtein Distance Medium
Knapsack Problem Hard
Min Number Of Jumps Hard
Water Area Hard
Longest Common Subsequence Hard
Disk Stacking Hard
Max Sum Increasing Subsequence Hard
Juice Bottling Hard
Dice Throws Hard
Numbers In Pi Hard
Maximize Expression Hard
Maximum Sum Submatrix Hard
Max Profit With K Transactions Very Hard
Square of Zeroes Very Hard
Longest String Chain Very Hard
Longest Increasing Subsequence Very Hard
Palindrome Partitioning Min Cuts Very Hard

Famous Algorithms (6/9)

Name Difficulty
Kadane's Algorithm Medium
Stable internships Medium
Union Find Medium
Dijkstra's Algorithm Hard
Topological Sort Hard
Kruskal's Algorithm Hard
Prim's Algorithm Hard
Knuth—Morris—Pratt Algorithm Very Hard
A* Algorithm Very Hard

Graphs (9/15)

Name Difficulty
Depth-first Search Easy
Minimum Passes Of Matrix Medium
Single Cycle Check Medium
Breadth-first Search Medium
River Sizes Medium
Youngest Common Ancestor Medium
Remove Islands Medium
Cycle In Graph Medium
Two-Colorable Medium
Boggle Board Hard
Largest Island Hard
Rectangle Mania Very Hard
Airport Connections Very Hard
Two-Edge-Connected Graph Very Hard
Detect Arbitrage Very Hard

Greedy Algorithms (6/6)

Name Difficulty
Minimum Waiting Time Easy
Class Photos Easy
Tandem Bicycle Easy
Optimal Freelancing Easy
Task Assignment Medium
Valid Starting City Medium

Heaps (1/5)

Name Difficulty
Min Heap Construction Medium
Continuous Median Hard
Sort K-Sorted Array Hard
Laptop Rentals Hard
Merge Sorted Arrays Very Hard

Linked Lists (10/15)

Name Difficulty
Middle Node Easy
Remove Duplicates From Linked List Easy
Linked List Construction Medium
Remove Kth Node From End Medium
Merging Linked Lists Medium
Sum of Linked Lists Medium
Shift Linked List Hard
Merge Linked Lists Hard
Reverse Linked List Hard
Find Loop Hard
Rearrange Linked List Very Hard
Linked List Palindrome Very Hard
Zip Linked List Very Hard
Node Swap Very Hard
LRU Cache Very Hard

Recursion (9/15)

Name Difficulty
Product Sum Easy
Nth Fibonacci Easy
Staircase Traversal Medium
Permutations Medium
Powerset Medium
Reveal Minesweeper Medium
Blackjack Probability Medium
Phone Number Mnemonics Medium
Solve Sudoku Hard
Interweaving Strings Hard
Generate Div Tags Hard
Ambiguous Measurements Hard
Lowest Common Manager Hard
Non-Attacking Queens Very Hard
Number Of Binary Tree Topologies Very Hard

Searching (7/9)

Name Difficulty
Binary Search Easy
Find Three Largest Numbers Easy
Search In Sorted Matrix Medium
Shifted Binary Search Hard
Search For Range Hard
Quickselect Hard
Index Equals Value Hard
Median Of Two Sorted Arrays Very Hard
Optimal Assembly Line Very Hard

Sorting (6/9)

Name Difficulty
Bubble Sort Easy
Insertion Sort Easy
Selection Sort Easy
Three Number Sort Medium
Quick Sort Hard
Heap Sort Hard
Radix Sort Hard
Merge Sort Very Hard
Count Inversions Very Hard

Stacks (10/11)

Name Difficulty
Min Max Stack Construction Medium
Balanced Brackets Medium
Sunset Views Medium
Best Digits Medium
Sort Stack Medium
Next Greater Element Medium
Reverse Polish Notation Medium
Colliding Asteroids Medium
Shorten Path Hard
Largest Rectangle Under Skyline Hard
Largest Park Very Hard

Strings (15/18)

Name Difficulty
Common Characters Easy
Caesar Cipher Encryptor Easy
Run-Length Encoding Easy
Semordnilap Easy
First Non-Repeating Character Easy
Generate Document Easy
Palindrome Check Easy
Longest Palindromic Substring Medium
One Edit Medium
Reverse Words In String Medium
Group Anagrams Medium
Minimum Characters For Words Medium
Valid IP Addresses Medium
Longest Substring Without Duplication Hard
Pattern Matcher Hard
Underscorify Substring Hard
Smallest Substring Containing Very Hard
Longest Balanced Substring Very Hard

Tries (3/5)

Name Difficulty
Suffix Trie Construction Medium
Multi String Search Hard
Longest Most Frequent Prefix Hard
Shortest Unique Prefixes Hard
Strings Made Up Of Strings Very Hard

algoexpert.io's People

Contributors

koykov avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.