Algorithmic Coding

Solve coding challenges involving performance-optimized data structures and algorithms.
Code in browser
Solved by ex-interviewers
Test cases

Questions List

Data Structures and Algorithms InterviewsFront end engineer's guide to DSA - important concepts to know, top practice questions to do and other tips
Guide
GUIDES
  • Selection SortImplement a function that performs a selection sort
    Languages
  • StackImplement a stack data structure containing the common stack methods
    Languages
  • Count Set Bits in a Binary NumberImplement a function to find set bits in binary representation of a given integer
    Languages
  • Find Duplicates in ArrayImplement a function to check if there are any duplicate numbers in the array
    Languages
  • Find Missing Number in SequenceImplement a function to find the missing element in a sorted array
    Languages
  • Insertion SortImplement a function that performs an insertion sort
    Languages
  • Optimal Stock TradingImplement a function to find the maximum profit achievable by buying and selling a stock once
    Languages
  • Pair sumImplement a function to find two numbers within an array of integers that add up to a target integer
    Languages
  • String AnagramImplement a function to determine if two strings are anagram of each other
    Languages
  • Binary Tree Maximum DepthImplement a function to find the maximum depth of a binary tree
    Languages
  • Flip Binary TreeImplement a function to flip the nodes in a binary tree
    Languages
  • Staircase Climbing CombinationsImplement a function to find the number of ways to reach at the top of staircase
    Languages
  • Balanced BracketsImplement a function to determine if a string contains balanced brackets
    Languages
  • Binary Tree EqualImplement a function to determine whether two binary trees are equal
    Languages
  • Bit CountingImplement a function to find number of set bits from 0 to n
    Languages
  • Bit ReversalImplement a function to flip the order of the bits in a given number
    Languages
  • Linked List ReversalImplement a function to reverse a linked list
    Languages
  • String PalindromeImplement a function to determine if a string is a palindrome
    Languages
  • Linked List Detect CycleImplement a function to detect if there are cycles in a linked list
    Languages
  • Binary Tree SubtreeImplement a function to check if a binary tree is a subtree of another binary tree
    Languages
  • Linked Lists Combine Two SortedImplement a function to combine two sorted linked list
    Languages
  • Meeting CalendarImplement a function to check if all meetings can be attended
    Languages
  • Array Product Excluding CurrentImplement a function to find the product of elements in an array excluding the current element
    Languages
  • Binary SearchImplement a function that performs binary search on an array of numbers
    Languages
  • Breadth-first SearchImplement a breadth-first search algorithm that traverses a directed graph in a breadth-first manner
    Languages
  • Depth-first SearchImplement a depth-first search algorithm that traverses a directed graph in a depth-first manner
    Languages
  • Heap SortImplement a function that performs a heap sort
    Languages
  • Is the Graph a TreeImplement a function to determine if a graph is a valid tree
    Languages
  • Maximum Water Trapped Between WallsImplement a function to find the maximum water volume between two walls in an array of walls
    Languages
  • QueueImplement a queue data structure containing the common queue methods
    Languages
  • Merge SortImplement a function that performs a recursive merge sort
    Languages
  • Quick SortImplement a function that performs a recursive quick sort
    Languages
  • Topological SortImplement a function that performs a topological sort
    Languages
  • Binary Tree Level Order TraversalImplement a function to find the level order traversal of a binary tree
    Languages
  • Maximum Sum in Contiguous ArrayImplement a function to find the subarray with the maximum sum
    Languages
  • Smallest element in rotated sorted arrayImplement a function to find the smallest element in rotated sorted array
    Languages
  • Find Element in Rotated ArrayImplement a function to find an integer in a rotated sorted array
    Languages
  • Maximum Product in Contiguous ArrayImplement a function to find the subarray which has the largest product
    Languages
  • Binary Search Tree Kth Smallest ElementImplement a function to find the kth smallest node in a BST
    Languages
  • Binary Search Tree Lowest Common AncestorImplement a function to find the LCA in a binary search tree
    Languages
  • Count Islands in a GridImplement a function to count distinct islands in a 2D binary grid
    Languages
  • Delete Nth Node from End of Linked ListImplement a function to delete the nth node from the end of a linked list
    Languages
  • Distinct Paths in GridImplement a function to calculate distinct paths for a robot moving on an m x n grid
    Languages
  • Matrix ZeroingImplement a function to set matrix rows and columns to zero
    Languages
  • Merge Overlapping IntervalsImplement a function to merge overlapping intervals
    Languages
  • Most Common ElementsImplement a function to determine the most common elements in an integer array
    Languages
  • Neighborhood TheftImplement a function to find maximum money to rob without alerting police
    Languages
  • Rearrange Linked ListImplement a function to rearrange the nodes in a linked list
    Languages
  • Sum Without AdditionImplement a function to find the sum of two integers without using + and - operator
    Languages
  • Triplet SumImplement a function to find all unique triplets with distinct indices that sum to 0
    Languages
  • Validate Binary Search TreeImplement a function to validate whether a binary tree is a valid binary search tree
    Languages
  • Combinations for Target SumImplement a function to count combinations that sum to the target
    Languages
  • Course DependencyImplement a function to check if all courses can be completed given prerequisites
    Languages
  • Decode MessageImplement a function to count ways to decode a numeric string
    Languages
  • Longest Consecutive Number SequenceImplement a function to find the length of the longest consecutive number sequence
    Languages
  • NEW
    Longest Increasing SubsequenceImplement a function to find the length of the longest increasing subsequence
    Languages
  • NEW
    Minimum Coins for ChangeImplement a function to return minimum coins needed to make the given amount
    Languages
  • Palindromic SubstringsImplement a function to count all palindromic substrings in a string
    Languages
  • Segment WordsImplement a function to check whether a string be formed from dictionary words
    Languages
  • String Anagram GroupsImplement a function to group an array of strings into anagrams
    Languages
  • Task CoordinationImplement a function to find minimum intervals for tasks with cooldown
    Languages
  • Trie (Prefix Tree)Implement a trie-prefix-tree with insert, search, and starts with functionality
    Languages
  • Binary Tree Rebuilding from Preorder and Inorder TraversalsImplement a function to construct a binary tree from preorder and inorder traversals
    Languages
  • Disjoint IntervalsImplement a function to determine the minimum amount of removals to get non-overlapping intervals
    Languages
  • End of Array ReachableImplement a function to determine if the end of the array is reachable
    Languages
  • Find the Longest Palindromic SubstringImplement a function to find the longest palindromic substring
    Languages
  • Find Word in GridImplement a function to check the existence of a word in a grid
    Languages
  • Graph Count Connected ComponentsImplement a function to count connected components in a graph
    Languages
  • Longest Common SubsequenceImplement a function to find the longest common subsequence in two strings
    Languages
  • Longest Non-repeating SubstringImplement a function to find the length of longest substring with unique characters
    Languages
  • Longest Repeating Substring After ReplacementsImplement a function to find the longest uniform substring after up to k replacements
    Languages
  • Matrix RotationImplement a function to rotate the given matrix by 90 degrees
    Languages
  • Matrix Spiral TraversalImplement a function to traverse the matrix in spiral order
    Languages
  • Merge New IntervalImplement a function to insert a new interval in the given intervals
    Languages
  • Neighborhood Theft (Circular)Implement a function to find maximum money to rob in circular houses without alerting police
    Languages
  • Ocean FlowImplement a function returning cells with water flow to both oceans
    Languages
  • Word FinderImplement a data structure where words can be added and support wildcard searching
    Languages
  • Graph CloneImplement a function to deeply clone a connected and undirected graph
    Languages
  • Minimum Meeting Rooms NeededImplement a function to find the minimum number of required conference rooms
    Languages
  • Binary Tree Serialization and DeserializationImplement a function to serialize and deserialize a binary tree
    Languages
  • Binary Tree Maximum Total PathImplement a function to find the maximum total of nodes in a binary tree path
    Languages
  • Find Words in GridImplement a function to find all the words present in the grid
    Languages
  • Linked Lists Combine K SortedImplement a function to combine k sorted linked lists
    Languages
  • Shortest Substring Containing CharactersImplement a function to return the smallest substring of a string containing all characters from another string
    Languages
  • Extraterrestrial LanguageImplement a function to verify and return an extraterrestrial language's alphabet order
    Languages
  • Number Stream MedianImplement a function to find the median of a dynamic stream of integers
    Languages