algoexpert-solutions icon indicating copy to clipboard operation
algoexpert-solutions copied to clipboard

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

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
  • List of AlgoExpert Problems and Solutions
    • Difficulty Levels Guide
    • Problems and Solutions
  • Contributing

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

Go to Top