Skip to content

Discover solutions to algoexpert problems in six programming languages: Python, Java, Go, C++, C#, and JavaScript/TypeScript

Notifications You must be signed in to change notification settings

drmacsika/algoexpert-solutions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

21 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Solutions to AlgoExpert Problems in Six Programming Languages: Python, Java, Go, C++, C#, JavaScript/TypeScript

Discover solutions to AlgoExpert problems in six programming languages: Python, Java, Go, C++, C#, and JavaScript/TypeScript.

⭐ Table of Contents:

Screenshots

Arrays, Binary Search Trees, Binary Trees, and Dynamic Programming

Famous Algorithms, Graphs, Greedy Algorithms, and Heaps

LinkedList, Recursion, Searching, and Sorting

Stacks, Strings and Tries

List of Problems and Solutions

Difficulty Levels Guide

  • 🟒 -> Easy
  • πŸ”΅ -> Medium
  • πŸ”΄ -> Hard
  • ⚫ -> Very Hard

Problems and Solutions

Problem Statement Difficulty Level Category Solution Link Website Link
⭐ Two Number Sum 🟒 Arrays Program.java Link
⭐ Validate Subsequence 🟒 Arrays Program.java Link
⭐ Tournament Winner 🟒 Arrays Program.java
⭐ Non-Constructible Change 🟒 Arrays Program.java Link
⭐ Sorted Squared Array 🟒 Arrays Program.java Link
⭐ Three Number Sum πŸ”΅ Arrays Program.java Link
⭐ Smallest Difference πŸ”΅ Arrays Program.java Link
⭐ Move Element To End πŸ”΅ Arrays Program.java Link
⭐ Monotonic Array πŸ”΅ Arrays Program.java Link
⭐ Spiral Traverse πŸ”΅ Arrays Program.java Link
⭐ Longest Peak πŸ”΅ Arrays Program.java Link
⭐ Array Of Products πŸ”΅ Arrays Program.java Link
⭐ First Duplicate Value πŸ”΅ Arrays Program.java Link
⭐ Merge Overlapping Intervals πŸ”΅ Arrays Program.java Link
⭐ Four Number Sum πŸ”΄ Arrays Program.java Link
⭐ Subarray Sort πŸ”΄ Arrays Program.java Link
⭐ Largest Range πŸ”΄ Arrays Program.java Link
⭐ Min Rewards πŸ”΄ Arrays Program.java Link
⭐ Zigzag Traverse πŸ”΄ Arrays Program.java
⭐ Apartment Hunting ⚫ Arrays Program.java Link
⭐ Calendar Matching ⚫ Arrays Program.java Link
⭐ Waterfall Streams ⚫ Arrays Program.java Link
⭐ Minimum Area Rectangle ⚫ Arrays Program.java Link
⭐ Line Through Points ⚫ Arrays Program.java Link
⭐ Palindrome Check 🟒 Strings Program.java Link
⭐ Caesar Cypher Encryptor 🟒 Strings Program.java Link
⭐ Run-Length Encoding 🟒 Strings Program.java Link
⭐ Generate Document 🟒 Strings Program.java
⭐ First Non-Repeating Character 🟒 Strings Program.java
⭐ Longest Palindromic Substring πŸ”΅ Strings Program.java
⭐ Group Anagrams πŸ”΅ Strings Program.java
⭐ Valid IP Addresses πŸ”΅ Strings Program.java
⭐ Reverse Words In String πŸ”΅ Strings Program.java
⭐ Minimum Characters For Words πŸ”΅ Strings Program.java
⭐ Longest Substring Without Duplication πŸ”΄ Strings Program.java
⭐ Underscorify Substring πŸ”΄ Strings Program.java
⭐ Pattern Matcher πŸ”΄ Strings Program.java
⭐ Smallest Substring Containing ⚫ Strings Program.java
⭐ Longest Balanced Substring ⚫ Strings Program.java
⭐ Remove Duplicates From Linked List 🟒 Linked Lists Program.java
⭐ Linked List Construction πŸ”΅ Linked Lists Program.java
⭐ Remove Kth Node From End πŸ”΅ Linked Lists Program.java
⭐ Sum of Linked Lists πŸ”΅ Linked Lists Program.java
⭐ Find Loop πŸ”΄ Linked Lists Program.java
⭐ Reverse Linked List πŸ”΄ Linked Lists Program.java
⭐ Merge Linked Lists πŸ”΄ Linked Lists Program.java
⭐ Shift Linked List πŸ”΄ Linked Lists Program.java
⭐ LRU Cache ⚫ Linked Lists Program.java
⭐ Rearrange Linked List ⚫ Linked Lists Program.java
⭐ Linked List Palindrome ⚫ Linked Lists Program.java
⭐ Zip Linked List ⚫ Linked Lists Program.java
⭐ Node Swap ⚫ Linked Lists Program.java
⭐ Min Max Stack Construction πŸ”΅ Stacks Program.java
⭐ Balanced Brackets πŸ”΅ Stacks Program.java
⭐ Sunset Views πŸ”΅ Stacks Program.java
⭐ Sort Stack πŸ”΅ Stacks Program.java
⭐ Shorten Path πŸ”΄ Stacks Program.java
⭐ Largest Rectangle Under Skyline πŸ”΄ Stacks Program.java
⭐ Binary Search 🟒 Searching Program.java
⭐ Find Three Largest Numbers 🟒 Searching Program.java
⭐ Search In Sorted Matrix πŸ”΅ Searching Program.java
⭐ Shifted Binary Search πŸ”΄ Searching Program.java
⭐ Search For Range πŸ”΄ Searching Program.java
⭐ Quickselect πŸ”΄ Searching Program.java
⭐ Index Equals Value πŸ”΄ Searching Program.java
⭐ Bubble Sort 🟒 Sorting Program.java
⭐ Insertion Sort 🟒 Sorting Program.java
⭐ Selection Sort 🟒 Sorting Program.java
⭐ Three Number Sort πŸ”΅ Sorting Program.java
⭐ Quick Sort πŸ”΄ Sorting Program.java
⭐ Heap Sort πŸ”΄ Sorting Program.java
⭐ Radix Sort πŸ”΄ Sorting Program.java
⭐ Merge Sort ⚫ Sorting Program.java
⭐ Minimum Waiting Time 🟒 Greedy Algorithms Program.java
⭐ Class Photos 🟒 Greedy Algorithms Program.java
⭐ Tandem Bicycle 🟒 Greedy Algorithms Program.java
⭐ Task Assignment πŸ”΅ Greedy Algorithms Program.java
⭐ Valid Starting City πŸ”΅ Greedy Algorithms Program.java
⭐ Min Heap Construction πŸ”΅ Heaps Program.java
⭐ Continuous Median πŸ”΄ Heaps Program.java
⭐ Sort K-Sorted Array πŸ”΄ Heaps Program.java
⭐ Laptop Rentals πŸ”΄ Heaps Program.java
⭐ Merge Sorted Arrays ⚫ Heaps Program.java
⭐ Kadane's Algorithm πŸ”΅ Famous Algorithms Program.java
⭐ Dijkstra's Algorithm πŸ”΄ Famous Algorithms Program.java
⭐ Topological Sort πŸ”΄ Famous Algorithms Program.java
⭐ Knuth Morris Pratt Algorithm ⚫ Famous Algorithms Program.java
⭐ A* Algorithm ⚫ Famous Algorithms Program.java
⭐ Nth Fibonacci 🟒 Recursion Program.java
⭐ Product Sum 🟒 Recursion Program.java
⭐ Permutations πŸ”΅ Recursion Program.java
⭐ Powerset πŸ”΅ Recursion Program.java
⭐ Phone Number Mnemonics πŸ”΅ Recursion Program.java
⭐ Staircase Traversal πŸ”΅ Recursion Program.java
⭐ Lowest Common Manager πŸ”΄ Recursion Program.java
⭐ Interweaving Strings πŸ”΄ Recursion Program.java
⭐ Solve Sudoku πŸ”΄ Recursion Program.java
⭐ Ambiguous Measurements πŸ”΄ Recursion Program.java
⭐ Generate Div Tags πŸ”΄ Recursion Program.java
⭐ Number Of Binary Tree Topologies ⚫ Recursion Program.java
⭐ Non Attacking Queens ⚫ Recursion Program.java
⭐ Find Closest Value In BST 🟒 Binary Search Trees Program.java
⭐ BST Traversal πŸ”΅ Binary Search Trees Program.java
⭐ BST Construction πŸ”΅ Binary Search Trees Program.java
⭐ Validate BST πŸ”΅ Binary Search Trees Program.java
⭐ Min Height BST πŸ”΅ Binary Search Trees Program.java
⭐ Find Kth Largest Value In BST πŸ”΅ Binary Search Trees Program.java
⭐ Reconstruct BST πŸ”΅ Binary Search Trees Program.java
⭐ Validate Three Nodes πŸ”΄ Binary Search Trees Program.java
⭐ Same BSTs πŸ”΄ Binary Search Trees Program.java
⭐ Right Smaller Than ⚫ Binary Search Trees Program.java
⭐ Branch Sums 🟒 Binary Trees Program.java
⭐ Node Depths 🟒 Binary Trees Program.java
⭐ Invert Binary Tree πŸ”΅ Binary Trees Program.java
⭐ Binary Tree Diameter πŸ”΅ Binary Trees Program.java
⭐ Find Successor πŸ”΅ Binary Trees Program.java
⭐ Height Balanced Binary Tree πŸ”΅ Binary Trees Program.java
⭐ Max Path Sum In Binary Tree πŸ”΄ Binary Trees Program.java
⭐ Find Nodes Distance K πŸ”΄ Binary Trees Program.java
⭐ Iterative In-Order Traversal ⚫ Binary Trees Program.java
⭐ Flatten Binary Tree ⚫ Binary Trees Program.java
⭐ Right Sibling Tree ⚫ Binary Trees Program.java
⭐ All Kinds of Node Depths ⚫ Binary Trees Program.java
⭐ Compare Leaf Traversal ⚫ Binary Trees Program.java
⭐ Max Subset Sum No Adjacent πŸ”΅ Dynamic Programming Program.java
⭐ Number Of Ways To Make Change πŸ”΅ Dynamic Programming Program.java
⭐ Min Number Of Coins For Change πŸ”΅ Dynamic Programming Program.java
⭐ Levenshtein Distance πŸ”΅ Dynamic Programming Program.java
⭐ Number Of Ways To Traverse Graph πŸ”΅ Dynamic Programming Program.java
⭐ Max Sum Increasing Subsequence πŸ”΄ Dynamic Programming Program.java
⭐ Longest Common Subsequence πŸ”΄ Dynamic Programming Program.java
⭐ Min Number of Jumps πŸ”΄ Dynamic Programming Program.java
⭐ Water Area πŸ”΄ Dynamic Programming Program.java
⭐ Knapsack Problem πŸ”΄ Dynamic Programming Program.java
⭐ Disk Stacking πŸ”΄ Dynamic Programming Program.java
⭐ Numbers In Pi πŸ”΄ Dynamic Programming Program.java
⭐ Maximum Sum Submatrix πŸ”΄ Dynamic Programming Program.java
⭐ Maximize Expression πŸ”΄ Dynamic Programming Program.java
⭐ Max Profit With K Transactions ⚫ Dynamic Programming Program.java
⭐ Palindrome Partitioning Min Cuts ⚫ Dynamic Programming Program.java
⭐ Longest Increasing Subsequence ⚫ Dynamic Programming Program.java
⭐ Longest String Chain ⚫ Dynamic Programming Program.java
⭐ Square Of Zeroes ⚫ Dynamic Programming Program.java
⭐ Depth-First Search 🟒 Graphs Program.java
⭐ Single Cycle Check πŸ”΅ Graphs Program.java
⭐ Breadth-First Search πŸ”΅ Graphs Program.java
⭐ River Sizes πŸ”΅ Graphs Program.java
⭐ Youngest Common Ancestor πŸ”΅ Graphs Program.java
⭐ Remove Islands πŸ”΅ Graphs Program.java
⭐ Cycle In Graph πŸ”΅ Graphs Program.java
⭐ Minimum Passes Of Matrix πŸ”΅ Graphs Program.java
⭐ Boggle Board πŸ”΄ Graphs Program.java
⭐ Rectangle Mania ⚫ Graphs Program.java
⭐ Airport Connections ⚫ Graphs Program.java
⭐ Detect Arbitrage ⚫ Graphs Program.java
⭐ Two-Edge Connected Graph ⚫ Graphs Program.java
⭐ Suffix Trie Construction πŸ”΅ Tries Program.java
⭐ Multi String Search πŸ”΄ Tries Program.java

Contributing

Pull requests and contributions are welcome. For major changes, please open an issue first to discuss what you would like to change.

Ensure to follow the guidelines and update tests as appropriate.

Contact Info

If you have any question or want to reach me directly, Contact Nsikak Imoh.