Categorygithub.com/koykov/algoexpert.io
repositorypackage
0.0.0-20240615115840-a222ecda5fb5
Repository: https://github.com/koykov/algoexpert.io.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# README

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 SearchArray Of ProductsAmbiguous MeasurementsA* Algorithm
Branch SumsBST ConstructionBoggle BoardAirport Connections
Bubble SortBST TraversalContinuous MedianAll Kinds Of Node Depths
Caesar Cipher EncryptorBalanced BracketsCount SquaresApartment Hunting
Class PhotosBest DigitsDice ThrowsCalendar Matching
Common CharactersBest SeatDijkstra's AlgorithmCompare Leaf Traversal
Depth-first SearchBinary Tree DiameterDisk StackingCount Inversions
Evaluate Expression TreeBlackjack ProbabilityFind LoopDetect Arbitrage
Find Closest Value In BSTBreadth-first SearchFind Nodes Distance KFlatten Binary Tree
Find Three Largest NumbersColliding AsteroidsFour Number SumIterative In-order Traversal
First Non-Repeating CharacterCycle In GraphGenerate Div TagsKnuth—Morris—Pratt Algorithm
Generate DocumentFind Kth Largest Value In BSTHeap SortLRU Cache
Insertion SortFind SuccessorIndex Equals ValueLargest Park
Middle NodeFirst Duplicate ValueInterweaving StringsLine Through Points
Minimum Waiting TimeGroup AnagramsJuice BottlingLinked List Palindrome
Node DepthsHeight Balanced Binary TreeKnapsack ProblemLongest Balanced Substring
Non-Constructible ChangeInvert Binary TreeKnight ConnectionLongest Increasing Subsequence
Nth FibonacciKadane's AlgorithmKruskal's AlgorithmLongest String Chain
Optimal FreelancingLevenshtein DistanceLaptop RentalsMax Profit With K Transactions
Palindrome CheckLinked List ConstructionLargest IslandMedian Of Two Sorted Arrays
Product SumLongest Palindromic SubstringLargest RangeMerge Sort
Remove Duplicates From Linked ListLongest PeakLargest Rectangle Under SkylineMerge Sorted Arrays
Run-Length EncodingMajority ElementLongest Common SubsequenceMinimum Area Rectangle
Selection SortMax Subset Sum No AdjacentLongest Most Frequent PrefixNode Swap
SemordnilapMerge Binary TreesLongest Subarray With SumNon-Attacking Queens
Sorted Squared ArrayMerge Overlapping IntervalsLongest Substring Without DuplicationNumber Of Binary Tree Topologies
Tandem BicycleMerging Linked ListsLowest Common ManagerOptimal Assembly Line
Tournament WinnerMin Heap ConstructionMax Path Sum In Binary TreePalindrome Partitioning Min Cuts
Transpose MatrixMin Height BSTMax Sum Increasing SubsequenceRearrange Linked List
Two Number SumMin Max Stack ConstructionMaximize ExpressionRectangle Mania
Validate SubsequenceMin Number Of Coins For ChangeMaximum Sum SubmatrixRight Sibling Tree
Minimum Characters For WordsMerge Linked ListsRight Smaller Than
Minimum Passes Of MatrixMin Number Of JumpsSmallest Substring Containing
Missing NumbersMin RewardsSquare of Zeroes
Monotonic ArrayMulti String SearchStrings Made Up Of Strings
Move Element To EndNumbers In PiTwo-Edge-Connected Graph
Next Greater ElementPattern MatcherWaterfall Streams
Number Of Ways To Make ChangePrim's AlgorithmZip Linked List
Number Of Ways To Traverse GraphQuick Sort
One EditQuickselect
PermutationsRadix Sort
Phone Number MnemonicsRepair BST
PowersetReverse Linked List
Reconstruct BSTSame BSTs
Remove IslandsSearch For Range
Remove Kth Node From EndShift Linked List
Reveal MinesweeperShifted Binary Search
Reverse Polish NotationShorten Path
Reverse Words In StringShortest Unique Prefixes
River SizesSolve Sudoku
Search In Sorted MatrixSort K-Sorted Array
Single Cycle CheckSubarray Sort
Smallest DifferenceSum BSTs
Sort StackTopological Sort
Spiral TraverseUnderscorify Substring
Split Binary TreeValidate Three Nodes
Stable internshipsWater Area
Staircase TraversalZigzag 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)

NameDifficulty
Tournament WinnerEasy
Two Number SumEasy
Non-Constructible ChangeEasy
Validate SubsequenceEasy
Transpose MatrixEasy
Sorted Squared ArrayEasy
Majority ElementMedium
Missing NumbersMedium
Spiral TraverseMedium
Sweet And SavoryMedium
Move Element To EndMedium
Monotonic ArrayMedium
Zero Sum SubarrayMedium
Merge Overlapping IntervalsMedium
Longest PeakMedium
Array Of ProductsMedium
Best SeatMedium
First Duplicate ValueMedium
Smallest DifferenceMedium
Three Number SumMedium
Knight ConnectionHard
Count SquaresHard
Four Number SumHard
Subarray SortHard
Longest Subarray With SumHard
Largest RangeHard
Zigzag TraverseHard
Min RewardsHard
Apartment HuntingVery Hard
Line Through PointsVery Hard
Minimum Area RectangleVery Hard
Waterfall StreamsVery Hard
Calendar MatchingVery Hard

Binary Search Trees (11/12)

NameDifficulty
Find Closest Value In BSTEasy
BST ConstructionMedium
Validate BSTMedium
BST TraversalMedium
Min Height BSTMedium
Find Kth Largest Value In BSTMedium
Reconstruct BSTMedium
Same BSTsHard
Validate Three NodesHard
Repair BSTHard
Sum BSTsHard
Right Smaller ThanVery Hard

Binary Trees (12/17)

NameDifficulty
Node DepthsEasy
Evaluate Expression TreeEasy
Branch SumsEasy
Merge Binary TreesMedium
Invert Binary TreeMedium
Binary Tree DiameterMedium
Split Binary TreeMedium
Symmetrical TreeMedium
Find SuccessorMedium
Height Balanced Binary TreeMedium
Max Path Sum In Binary TreeHard
Find Nodes Distance KHard
All Kinds Of Node DepthsVery Hard
Compare Leaf TraversalVery Hard
Right Sibling TreeVery Hard
Flatten Binary TreeVery Hard
Iterative In-order TraversalVery Hard

Dynamic Programming (17/21)

NameDifficulty
Number Of Ways To Traverse GraphMedium
Number Of Ways To Make ChangeMedium
Min Number Of Coins For ChangeMedium
Max Subset Sum No AdjacentMedium
Levenshtein DistanceMedium
Knapsack ProblemHard
Min Number Of JumpsHard
Water AreaHard
Longest Common SubsequenceHard
Disk StackingHard
Max Sum Increasing SubsequenceHard
Juice BottlingHard
Dice ThrowsHard
Numbers In PiHard
Maximize ExpressionHard
Maximum Sum SubmatrixHard
Max Profit With K TransactionsVery Hard
Square of ZeroesVery Hard
Longest String ChainVery Hard
Longest Increasing SubsequenceVery Hard
Palindrome Partitioning Min CutsVery Hard

Famous Algorithms (6/9)

NameDifficulty
Kadane's AlgorithmMedium
Stable internshipsMedium
Union FindMedium
Dijkstra's AlgorithmHard
Topological SortHard
Kruskal's AlgorithmHard
Prim's AlgorithmHard
Knuth—Morris—Pratt AlgorithmVery Hard
A* AlgorithmVery Hard

Graphs (9/15)

NameDifficulty
Depth-first SearchEasy
Minimum Passes Of MatrixMedium
Single Cycle CheckMedium
Breadth-first SearchMedium
River SizesMedium
Youngest Common AncestorMedium
Remove IslandsMedium
Cycle In GraphMedium
Two-ColorableMedium
Boggle BoardHard
Largest IslandHard
Rectangle ManiaVery Hard
Airport ConnectionsVery Hard
Two-Edge-Connected GraphVery Hard
Detect ArbitrageVery Hard

Greedy Algorithms (6/6)

NameDifficulty
Minimum Waiting TimeEasy
Class PhotosEasy
Tandem BicycleEasy
Optimal FreelancingEasy
Task AssignmentMedium
Valid Starting CityMedium

Heaps (1/5)

NameDifficulty
Min Heap ConstructionMedium
Continuous MedianHard
Sort K-Sorted ArrayHard
Laptop RentalsHard
Merge Sorted ArraysVery Hard

Linked Lists (10/15)

NameDifficulty
Middle NodeEasy
Remove Duplicates From Linked ListEasy
Linked List ConstructionMedium
Remove Kth Node From EndMedium
Merging Linked ListsMedium
Sum of Linked ListsMedium
Shift Linked ListHard
Merge Linked ListsHard
Reverse Linked ListHard
Find LoopHard
Rearrange Linked ListVery Hard
Linked List PalindromeVery Hard
Zip Linked ListVery Hard
Node SwapVery Hard
LRU CacheVery Hard

Recursion (9/15)

NameDifficulty
Product SumEasy
Nth FibonacciEasy
Staircase TraversalMedium
PermutationsMedium
PowersetMedium
Reveal MinesweeperMedium
Blackjack ProbabilityMedium
Phone Number MnemonicsMedium
Solve SudokuHard
Interweaving StringsHard
Generate Div TagsHard
Ambiguous MeasurementsHard
Lowest Common ManagerHard
Non-Attacking QueensVery Hard
Number Of Binary Tree TopologiesVery Hard

Searching (7/9)

NameDifficulty
Binary SearchEasy
Find Three Largest NumbersEasy
Search In Sorted MatrixMedium
Shifted Binary SearchHard
Search For RangeHard
QuickselectHard
Index Equals ValueHard
Median Of Two Sorted ArraysVery Hard
Optimal Assembly LineVery Hard

Sorting (6/9)

NameDifficulty
Bubble SortEasy
Insertion SortEasy
Selection SortEasy
Three Number SortMedium
Quick SortHard
Heap SortHard
Radix SortHard
Merge SortVery Hard
Count InversionsVery Hard

Stacks (10/11)

NameDifficulty
Min Max Stack ConstructionMedium
Balanced BracketsMedium
Sunset ViewsMedium
Best DigitsMedium
Sort StackMedium
Next Greater ElementMedium
Reverse Polish NotationMedium
Colliding AsteroidsMedium
Shorten PathHard
Largest Rectangle Under SkylineHard
Largest ParkVery Hard

Strings (15/18)

NameDifficulty
Common CharactersEasy
Caesar Cipher EncryptorEasy
Run-Length EncodingEasy
SemordnilapEasy
First Non-Repeating CharacterEasy
Generate DocumentEasy
Palindrome CheckEasy
Longest Palindromic SubstringMedium
One EditMedium
Reverse Words In StringMedium
Group AnagramsMedium
Minimum Characters For WordsMedium
Valid IP AddressesMedium
Longest Substring Without DuplicationHard
Pattern MatcherHard
Underscorify SubstringHard
Smallest Substring ContainingVery Hard
Longest Balanced SubstringVery Hard

Tries (3/5)

NameDifficulty
Suffix Trie ConstructionMedium
Multi String SearchHard
Longest Most Frequent PrefixHard
Shortest Unique PrefixesHard
Strings Made Up Of StringsVery Hard