How often are these problems asked?
Frequency scores are based on crowdsourced interview reports. A higher score means the problem has been reported more often in recent Adobe interviews.
Very Likely
75-100%
Likely
50-74%
Sometimes
25-49%
Rare
0-24%
Problem database last updated: June 20, 2025
100 problems · 24 Easy, 61 Medium, 15 Hard · Ranked #2 of 458
24 Easy
24% · avg 23%
61 Medium
61% · avg 59%
15 Hard
15% · avg 18%
Based on 100 reported problems, Adobe interviews are in line with industry averages - 15% Hard vs 18% overall. The majority (61%) of questions are Medium difficulty, which is typical for companies that want to see solid fundamentals without excessive trick questions.
Compared to the industry average, Adobe puts unusual emphasis on binary-search-tree (3% of problems, 2.7x the industry average), binary-tree (13% of problems, 2.6x the industry average), backtracking (13% of problems, 2.5x the industry average). If you're short on time, these are the categories to double down on.
The most common topics are array (48%), string (26%), two-pointers (17%), math (16%). Problems below are sorted by frequency, the ones at the top are asked most often.
| Problem | Difficulty | Frequency | Topics | |
|---|---|---|---|---|
Two Sum Given an array of integers nums and an integer target, return the indices of the two numbers that add up to target. | Easy | Very Likely | arrayhash-map | Solve |
Longest Common Prefix Write a function to find the longest common prefix string amongst an array of strings. | Easy | Very Likely | arraystringtrie | Solve |
3Sum Given an integer array nums, return all the triplets [nums[i], nums[j], nums[k]] such that i != j, i != k, and j != k, and nums[i] + nums[j] + nums[k] == 0. | Medium | Very Likely | arraytwo-pointerssorting | Solve |
Median of Two Sorted Arrays Given two sorted arrays nums1 and nums2 of size m and n respectively, return the median of the two sorted arrays. | Hard | Very Likely | arraybinary-searchdivide-and-conquer | Solve |
Longest Substring Without Repeating Characters Given a string s, find the length of the longest substring without duplicate characters. | Medium | Very Likely | hash-tablestringsliding-window | Solve |
Reverse Integer Given a signed 32-bit integer x, return x with its digits reversed. If reversing x causes the value to go outside the signed 32-bit integer range [-231, 231 - 1... | Medium | Likely | math | Solve |
Trapping Rain Water Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it can trap after raining. | Hard | Likely | arraytwo-pointersdynamic-programming | Solve |
Merge Sorted Array You are given two integer arrays nums1 and nums2, sorted in non-decreasing order, and two integers m and n, representing the number of elements in nums1 and num... | Easy | Likely | arraytwo-pointerssorting | Solve |
Add Two Numbers You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order, and each of their nodes contains a sing... | Medium | Likely | linked-listmathrecursion | Solve |
Climbing Stairs You are climbing a staircase. It takes n steps to reach the top. | Easy | Likely | mathdynamic-programmingmemoization | Solve |
Palindrome Number Given an integer x, return true if x is a palindrome, and false otherwise. | Easy | Likely | math | Solve |
Group Anagrams Given an array of strings strs, group the anagrams together. You can return the answer in any order. | Medium | Likely | arrayhash-tablestring | Solve |
Valid Parentheses Given a string s containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid. | Easy | Likely | stringstack | Solve |
Container With Most Water You are given an integer array height of length n. There are n vertical lines drawn such that the two endpoints of the ith line are (i, 0) and (i, height[i]). | Medium | Likely | arraytwo-pointersgreedy | Solve |
Longest Palindromic Substring Given a string s, return the longest palindromic substring in s. | Medium | Likely | two-pointersstringdynamic-programming | Solve |
Remove Duplicates from Sorted Array Given an integer array nums sorted in non-decreasing order, remove the duplicates in-place such that each unique element appears only once. The relative order o... | Easy | Likely | arraytwo-pointers | Solve |
Next Permutation A permutation of an array of integers is an arrangement of its members into a sequence or linear order. | Medium | Likely | arraytwo-pointers | Solve |
Remove Element Given an integer array nums and an integer val, remove all occurrences of val in nums in-place. The order of the elements may be changed. Then return the number... | Easy | Likely | arraytwo-pointers | Solve |
Roman to Integer Roman numerals are represented by seven different symbols: I, V, X, L, C, D and M. | Easy | Likely | hash-tablemathstring | Solve |
Spiral Matrix Given an m x n matrix, return all elements of the matrix in spiral order. | Medium | Likely | arraymatrixsimulation | Solve |
Merge Two Sorted Lists You are given the heads of two sorted linked lists list1 and list2. | Easy | Likely | linked-listrecursion | Solve |
Set Matrix Zeroes Given an m x n integer matrix matrix, if an element is 0, set its entire row and column to 0's. | Medium | Likely | arrayhash-tablematrix | Solve |
Plus One You are given a large integer represented as an integer array digits, where each digits[i] is the ith digit of the integer. The digits are ordered from most sig... | Easy | Likely | arraymath | Solve |
Jump Game You are given an integer array nums. You are initially positioned at the array's first index, and each element in the array represents your maximum jump length... | Medium | Likely | arraydynamic-programminggreedy | Solve |
Generate Parentheses Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses. | Medium | Likely | stringdynamic-programmingbacktracking | Solve |
Rotate Image You are given an n x n 2D matrix representing an image, rotate the image by 90 degrees (clockwise). | Medium | Likely | arraymathmatrix | Solve |
Letter Combinations of a Phone Number Given a string containing digits from 2-9 inclusive, return all possible letter combinations that the number could represent. Return the answer in any order. | Medium | Likely | hash-tablestringbacktracking | Solve |
Integer to Roman Seven different symbols represent Roman numerals with the following values: | Medium | Likely | hash-tablemathstring | Solve |
Merge Intervals Given an array of intervals where intervals[i] = [starti, endi], merge all overlapping intervals, and return an array of the non-overlapping intervals that cove... | Medium | Likely | arraysorting | Solve |
Permutations Given an array nums of distinct integers, return all the possible permutations. You can return the answer in any order. | Medium | Likely | arraybacktracking | Solve |
Find First and Last Position of Element in Sorted Array Given an array of integers nums sorted in non-decreasing order, find the starting and ending position of a given target value. | Medium | Likely | arraybinary-search | Solve |
Remove Duplicates from Sorted Array II Given an integer array nums sorted in non-decreasing order, remove some duplicates in-place such that each unique element appears at most twice. The relative or... | Medium | Likely | arraytwo-pointers | Solve |
Jump Game II You are given a 0-indexed array of integers nums of length n. You are initially positioned at index 0. | Medium | Likely | arraydynamic-programminggreedy | Solve |
Sqrt(x) Given a non-negative integer x, return the square root of x rounded down to the nearest integer. The returned integer should be non-negative as well. | Easy | Likely | mathbinary-search | Solve |
Merge k Sorted Lists You are given an array of k linked-lists lists, each linked-list is sorted in ascending order. | Hard | Sometimes | linked-listdivide-and-conquerheap-priority-queue | Solve |
Maximum Subarray Given an integer array nums, find the subarray with the largest sum, and return its sum. | Medium | Sometimes | arraydivide-and-conquerdynamic-programming | Solve |
Unique Paths There is a robot on an m x n grid. The robot is initially located at the top-left corner (i.e., grid[0][0]). The robot tries to move to the bottom-right corner... | Medium | Sometimes | mathdynamic-programmingcombinatorics | Solve |
Sort Colors Given an array nums with n objects colored red, white, or blue, sort them in-place so that objects of the same color are adjacent, with the colors in the order... | Medium | Sometimes | arraytwo-pointerssorting | Solve |
Combination Sum II Given a collection of candidate numbers (candidates) and a target number (target), find all unique combinations in candidates where the candidate numbers sum to... | Medium | Sometimes | arraybacktracking | Solve |
First Missing Positive Given an unsorted integer array nums. Return the smallest positive integer that is not present in nums. | Hard | Sometimes | arrayhash-table | Solve |
Valid Sudoku Determine if a 9 x 9 Sudoku board is valid. Only the filled cells need to be validated according to the following rules: | Medium | Sometimes | arrayhash-tablematrix | Solve |
Pow(x, n) Implement pow(x, n), which calculates x raised to the power n (i.e., xn). | Medium | Sometimes | mathrecursion | Solve |
Search in Rotated Sorted Array There is an integer array nums sorted in ascending order (with distinct values). | Medium | Sometimes | arraybinary-search | Solve |
Subsets Given an integer array nums of unique elements, return all possible subsets (the power set). | Medium | Sometimes | arraybacktrackingbit-manipulation | Solve |
Find the Index of the First Occurrence in a String Given two strings needle and haystack, return the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack. | Easy | Sometimes | two-pointersstringstring-matching | Solve |
Divide Two Integers Given two integers dividend and divisor, divide two integers without using multiplication, division, and mod operator. | Medium | Sometimes | mathbit-manipulation | Solve |
Construct Binary Tree from Preorder and Inorder Traversal Given two integer arrays preorder and inorder where preorder is the preorder traversal of a binary tree and inorder is the inorder traversal of the same tree, c... | Medium | Sometimes | arrayhash-tabledivide-and-conquer | Solve |
Search Insert Position Given a sorted array of distinct integers and a target value, return the index if the target is found. If not, return the index where it would be if it were ins... | Easy | Sometimes | arraybinary-search | Solve |
Binary Tree Zigzag Level Order Traversal Given the root of a binary tree, return the zigzag level order traversal of its nodes' values. (i.e., from left to right, then right to left for the next level... | Medium | Sometimes | treebreadth-first-searchbinary-tree | Solve |
Reverse Linked List II Given the head of a singly linked list and two integers left and right where left <= right, reverse the nodes of the list from position left to position right,... | Medium | Sometimes | linked-list | Solve |
Minimum Window Substring Given two strings s and t of lengths m and n respectively, return the minimum window substring of s such that every character in t (including duplicates) is inc... | Hard | Sometimes | hash-tablestringsliding-window | Solve |
Swap Nodes in Pairs Given a linked list, swap every two adjacent nodes and return its head. You must solve the problem without modifying the values in the list's nodes (i.e., only... | Medium | Sometimes | linked-listrecursion | Solve |
Length of Last Word Given a string s consisting of words and spaces, return the length of the last word in the string. | Easy | Sometimes | string | Solve |
Largest Rectangle in Histogram Given an array of integers heights representing the histogram's bar height where the width of each bar is 1, return the area of the largest rectangle in the his... | Hard | Sometimes | arraystackmonotonic-stack | Solve |
String to Integer (atoi) Implement the myAtoi(string s) function, which converts a string to a 32-bit signed integer. | Medium | Sometimes | string | Solve |
Reverse Nodes in k-Group Given the head of a linked list, reverse the nodes of the list k at a time, and return the modified list. | Hard | Sometimes | linked-listrecursion | Solve |
Remove Nth Node From End of List Given the head of a linked list, remove the nth node from the end of the list and return its head. | Medium | Sometimes | linked-listtwo-pointers | Solve |
4Sum Given an array nums of n integers, return an array of all the unique quadruplets [nums[a], nums[b], nums[c], nums[d]] such that: | Medium | Sometimes | arraytwo-pointerssorting | Solve |
3Sum Closest Given an integer array nums of length n and an integer target, find three integers at distinct indices in nums such that the sum is closest to target. | Medium | Sometimes | arraytwo-pointerssorting | Solve |
Wildcard Matching Given an input string (s) and a pattern (p), implement wildcard pattern matching with support for '?' and '' where: | Hard | Sometimes | stringdynamic-programminggreedy | Solve |
Partition List Given the head of a linked list and a value x, partition it such that all nodes less than x come before nodes greater than or equal to x. | Medium | Sometimes | linked-listtwo-pointers | Solve |
Zigzag Conversion The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better... | Medium | Sometimes | string | Solve |
Insert Interval You are given an array of non-overlapping intervals intervals where intervals[i] = [starti, endi] represent the start and the end of the ith interval and interv... | Medium | Sometimes | array | Solve |
Symmetric Tree Given the root of a binary tree, check whether it is a mirror of itself (i.e., symmetric around its center). | Easy | Sometimes | treedepth-first-searchbreadth-first-search | Solve |
Sudoku Solver Write a program to solve a Sudoku puzzle by filling the empty cells. | Hard | Sometimes | arrayhash-tablebacktracking | Solve |
Binary Tree Inorder Traversal Given the root of a binary tree, return the inorder traversal of its nodes' values. | Easy | Sometimes | stacktreedepth-first-search | Solve |
Word Search Given an m x n grid of characters board and a string word, return true if word exists in the grid. | Medium | Sometimes | arraystringbacktracking | Solve |
Same Tree Given the roots of two binary trees p and q, write a function to check if they are the same or not. | Easy | Sometimes | treedepth-first-searchbreadth-first-search | Solve |
Text Justification Given an array of strings words and a width maxWidth, format the text such that each line has exactly maxWidth characters and is fully (left and right) justifie... | Hard | Sometimes | arraystringsimulation | Solve |
Add Binary Given two binary strings a and b, return their sum as a binary string. | Easy | Sometimes | mathstringbit-manipulation | Solve |
Decode Ways You have intercepted a secret message encoded as a string of numbers. The message is decoded via the following mapping: | Medium | Sometimes | stringdynamic-programming | Solve |
Longest Valid Parentheses Given a string containing just the characters '(' and ')', return the length of the longest valid (well-formed) parentheses substring. | Hard | Sometimes | stringdynamic-programmingstack | Solve |
Balanced Binary Tree Given a binary tree, determine if it is height-balanced. | Easy | Sometimes | treedepth-first-searchbinary-tree | Solve |
Search a 2D Matrix You are given an m x n integer matrix matrix with the following two properties: | Medium | Sometimes | arraybinary-searchmatrix | Solve |
Substring with Concatenation of All Words You are given a string s and an array of strings words. All the strings of words are of the same length. | Hard | Sometimes | hash-tablestringsliding-window | Solve |
Maximum Depth of Binary Tree Given the root of a binary tree, return its maximum depth. | Easy | Sometimes | treedepth-first-searchbreadth-first-search | Solve |
Edit Distance Given two strings word1 and word2, return the minimum number of operations required to convert word1 to word2. | Medium | Sometimes | stringdynamic-programming | Solve |
Remove Duplicates from Sorted List Given the head of a sorted linked list, delete all duplicates such that each element appears only once. Return the linked list sorted as well. | Easy | Sometimes | linked-list | Solve |
Validate Binary Search Tree Given the root of a binary tree, determine if it is a valid binary search tree (BST). | Medium | Sometimes | treedepth-first-searchbinary-search-tree | Solve |
Search in Rotated Sorted Array II There is an integer array nums sorted in non-decreasing order (not necessarily with distinct values). | Medium | Sometimes | arraybinary-search | Solve |
Combinations Given two integers n and k, return all possible combinations of k numbers chosen from the range [1, n]. | Medium | Sometimes | backtracking | Solve |
Unique Paths II You are given an m x n integer array grid. There is a robot initially located at the top-left corner (i.e., grid[0][0]). The robot tries to move to the bottom-r... | Medium | Sometimes | arraydynamic-programmingmatrix | Solve |
Rotate List Given the head of a linked list, rotate the list to the right by k places. | Medium | Sometimes | linked-listtwo-pointers | Solve |
Permutation Sequence The set [1, 2, 3, ..., n] contains a total of n! unique permutations. | Hard | Sometimes | mathrecursion | Solve |
Spiral Matrix II Given a positive integer n, generate an n x n matrix filled with elements from 1 to n2 in spiral order. | Medium | Sometimes | arraymatrixsimulation | Solve |
Count and Say The count-and-say sequence is a sequence of digit strings defined by the recursive formula: | Medium | Rare | string | Solve |
N-Queens The n-queens puzzle is the problem of placing n queens on an n x n chessboard such that no two queens attack each other. | Hard | Rare | arraybacktracking | Solve |
Remove Duplicates from Sorted List II Given the head of a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list. Return the linked li... | Medium | Rare | linked-listtwo-pointers | Solve |
Restore IP Addresses A valid IP address consists of exactly four integers separated by single dots. Each integer is between 0 and 255 (inclusive) and cannot have leading zeros. | Medium | Rare | stringbacktracking | Solve |
Permutations II Given a collection of numbers, nums, that might contain duplicates, return all possible unique permutations in any order. | Medium | Rare | arraybacktrackingsorting | Solve |
Simplify Path You are given an absolute path for a Unix-style file system, which always begins with a slash '/'. Your task is to transform this absolute path into its simplif... | Medium | Rare | stringstack | Solve |
Convert Sorted Array to Binary Search Tree Given an integer array nums where the elements are sorted in ascending order, convert it to a height-balanced binary search tree. | Easy | Rare | arraydivide-and-conquertree | Solve |
Construct Binary Tree from Inorder and Postorder Traversal Given two integer arrays inorder and postorder where inorder is the inorder traversal of a binary tree and postorder is the postorder traversal of the same tree... | Medium | Rare | arrayhash-tabledivide-and-conquer | Solve |
Combination Sum Given an array of distinct integers candidates and a target integer target, return a list of all unique combinations of candidates where the chosen numbers sum... | Medium | Rare | arraybacktracking | Solve |
Maximal Rectangle Given a rows x cols binary matrix filled with 0's and 1's, find the largest rectangle containing only 1's and return its area. | Hard | Rare | arraydynamic-programmingstack | Solve |
Minimum Depth of Binary Tree Given a binary tree, find its minimum depth. | Easy | Rare | treedepth-first-searchbreadth-first-search | Solve |
Multiply Strings Given two non-negative integers num1 and num2 represented as strings, return the product of num1 and num2, also represented as a string. | Medium | Rare | mathstringsimulation | Solve |
Binary Tree Level Order Traversal Given the root of a binary tree, return the level order traversal of its nodes' values. (i.e., from left to right, level by level). | Medium | Rare | treebreadth-first-searchbinary-tree | Solve |
Unique Binary Search Trees Given an integer n, return the number of structurally unique BST's (binary search trees) which has exactly n nodes of unique values from 1 to n. | Medium | Rare | mathdynamic-programmingtree | Solve |
Subsets II Given an integer array nums that may contain duplicates, return all possible subsets (the power set). | Medium | Rare | arraybacktrackingbit-manipulation | Solve |
Two Sum
SolveGiven an array of integers nums and an integer target, return the indices of the two numbers that add up to target.
Longest Common Prefix
SolveWrite a function to find the longest common prefix string amongst an array of strings.
3Sum
SolveGiven an integer array nums, return all the triplets [nums[i], nums[j], nums[k]] such that i != j, i != k, and j != k, and nums[i] + nums[j] + nums[k] == 0.
Median of Two Sorted Arrays
SolveGiven two sorted arrays nums1 and nums2 of size m and n respectively, return the median of the two sorted arrays.
Longest Substring Without Repeating Characters
SolveGiven a string s, find the length of the longest substring without duplicate characters.
Reverse Integer
SolveGiven a signed 32-bit integer x, return x with its digits reversed. If reversing x causes the value to go outside the signed 32-bit integer range [-231, 231 - 1...
Trapping Rain Water
SolveGiven n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it can trap after raining.
Merge Sorted Array
SolveYou are given two integer arrays nums1 and nums2, sorted in non-decreasing order, and two integers m and n, representing the number of elements in nums1 and num...
Add Two Numbers
SolveYou are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order, and each of their nodes contains a sing...
Climbing Stairs
SolveYou are climbing a staircase. It takes n steps to reach the top.
Palindrome Number
SolveGiven an integer x, return true if x is a palindrome, and false otherwise.
Group Anagrams
SolveGiven an array of strings strs, group the anagrams together. You can return the answer in any order.
Valid Parentheses
SolveGiven a string s containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid.
Container With Most Water
SolveYou are given an integer array height of length n. There are n vertical lines drawn such that the two endpoints of the ith line are (i, 0) and (i, height[i]).
Longest Palindromic Substring
SolveGiven a string s, return the longest palindromic substring in s.
Remove Duplicates from Sorted Array
SolveGiven an integer array nums sorted in non-decreasing order, remove the duplicates in-place such that each unique element appears only once. The relative order o...
Next Permutation
SolveA permutation of an array of integers is an arrangement of its members into a sequence or linear order.
Remove Element
SolveGiven an integer array nums and an integer val, remove all occurrences of val in nums in-place. The order of the elements may be changed. Then return the number...
Roman to Integer
SolveRoman numerals are represented by seven different symbols: I, V, X, L, C, D and M.
Spiral Matrix
SolveGiven an m x n matrix, return all elements of the matrix in spiral order.
Merge Two Sorted Lists
SolveYou are given the heads of two sorted linked lists list1 and list2.
Set Matrix Zeroes
SolveGiven an m x n integer matrix matrix, if an element is 0, set its entire row and column to 0's.
Plus One
SolveYou are given a large integer represented as an integer array digits, where each digits[i] is the ith digit of the integer. The digits are ordered from most sig...
Jump Game
SolveYou are given an integer array nums. You are initially positioned at the array's first index, and each element in the array represents your maximum jump length...
Generate Parentheses
SolveGiven n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.
Rotate Image
SolveYou are given an n x n 2D matrix representing an image, rotate the image by 90 degrees (clockwise).
Letter Combinations of a Phone Number
SolveGiven a string containing digits from 2-9 inclusive, return all possible letter combinations that the number could represent. Return the answer in any order.
Integer to Roman
SolveSeven different symbols represent Roman numerals with the following values:
Merge Intervals
SolveGiven an array of intervals where intervals[i] = [starti, endi], merge all overlapping intervals, and return an array of the non-overlapping intervals that cove...
Permutations
SolveGiven an array nums of distinct integers, return all the possible permutations. You can return the answer in any order.
Find First and Last Position of Element in Sorted Array
SolveGiven an array of integers nums sorted in non-decreasing order, find the starting and ending position of a given target value.
Remove Duplicates from Sorted Array II
SolveGiven an integer array nums sorted in non-decreasing order, remove some duplicates in-place such that each unique element appears at most twice. The relative or...
Jump Game II
SolveYou are given a 0-indexed array of integers nums of length n. You are initially positioned at index 0.
Sqrt(x)
SolveGiven a non-negative integer x, return the square root of x rounded down to the nearest integer. The returned integer should be non-negative as well.
Merge k Sorted Lists
SolveYou are given an array of k linked-lists lists, each linked-list is sorted in ascending order.
Maximum Subarray
SolveGiven an integer array nums, find the subarray with the largest sum, and return its sum.
Unique Paths
SolveThere is a robot on an m x n grid. The robot is initially located at the top-left corner (i.e., grid[0][0]). The robot tries to move to the bottom-right corner...
Sort Colors
SolveGiven an array nums with n objects colored red, white, or blue, sort them in-place so that objects of the same color are adjacent, with the colors in the order...
Combination Sum II
SolveGiven a collection of candidate numbers (candidates) and a target number (target), find all unique combinations in candidates where the candidate numbers sum to...
First Missing Positive
SolveGiven an unsorted integer array nums. Return the smallest positive integer that is not present in nums.
Valid Sudoku
SolveDetermine if a 9 x 9 Sudoku board is valid. Only the filled cells need to be validated according to the following rules:
Pow(x, n)
SolveImplement pow(x, n), which calculates x raised to the power n (i.e., xn).
Search in Rotated Sorted Array
SolveThere is an integer array nums sorted in ascending order (with distinct values).
Subsets
SolveGiven an integer array nums of unique elements, return all possible subsets (the power set).
Find the Index of the First Occurrence in a String
SolveGiven two strings needle and haystack, return the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack.
Divide Two Integers
SolveGiven two integers dividend and divisor, divide two integers without using multiplication, division, and mod operator.
Construct Binary Tree from Preorder and Inorder Traversal
SolveGiven two integer arrays preorder and inorder where preorder is the preorder traversal of a binary tree and inorder is the inorder traversal of the same tree, c...
Search Insert Position
SolveGiven a sorted array of distinct integers and a target value, return the index if the target is found. If not, return the index where it would be if it were ins...
Binary Tree Zigzag Level Order Traversal
SolveGiven the root of a binary tree, return the zigzag level order traversal of its nodes' values. (i.e., from left to right, then right to left for the next level...
Reverse Linked List II
SolveGiven the head of a singly linked list and two integers left and right where left <= right, reverse the nodes of the list from position left to position right,...
Minimum Window Substring
SolveGiven two strings s and t of lengths m and n respectively, return the minimum window substring of s such that every character in t (including duplicates) is inc...
Swap Nodes in Pairs
SolveGiven a linked list, swap every two adjacent nodes and return its head. You must solve the problem without modifying the values in the list's nodes (i.e., only...
Length of Last Word
SolveGiven a string s consisting of words and spaces, return the length of the last word in the string.
Largest Rectangle in Histogram
SolveGiven an array of integers heights representing the histogram's bar height where the width of each bar is 1, return the area of the largest rectangle in the his...
String to Integer (atoi)
SolveImplement the myAtoi(string s) function, which converts a string to a 32-bit signed integer.
Reverse Nodes in k-Group
SolveGiven the head of a linked list, reverse the nodes of the list k at a time, and return the modified list.
Remove Nth Node From End of List
SolveGiven the head of a linked list, remove the nth node from the end of the list and return its head.
4Sum
SolveGiven an array nums of n integers, return an array of all the unique quadruplets [nums[a], nums[b], nums[c], nums[d]] such that:
3Sum Closest
SolveGiven an integer array nums of length n and an integer target, find three integers at distinct indices in nums such that the sum is closest to target.
Wildcard Matching
SolveGiven an input string (s) and a pattern (p), implement wildcard pattern matching with support for '?' and '' where:
Partition List
SolveGiven the head of a linked list and a value x, partition it such that all nodes less than x come before nodes greater than or equal to x.
Zigzag Conversion
SolveThe string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better...
Insert Interval
SolveYou are given an array of non-overlapping intervals intervals where intervals[i] = [starti, endi] represent the start and the end of the ith interval and interv...
Symmetric Tree
SolveGiven the root of a binary tree, check whether it is a mirror of itself (i.e., symmetric around its center).
Sudoku Solver
SolveWrite a program to solve a Sudoku puzzle by filling the empty cells.
Binary Tree Inorder Traversal
SolveGiven the root of a binary tree, return the inorder traversal of its nodes' values.
Word Search
SolveGiven an m x n grid of characters board and a string word, return true if word exists in the grid.
Same Tree
SolveGiven the roots of two binary trees p and q, write a function to check if they are the same or not.
Text Justification
SolveGiven an array of strings words and a width maxWidth, format the text such that each line has exactly maxWidth characters and is fully (left and right) justifie...
Add Binary
SolveGiven two binary strings a and b, return their sum as a binary string.
Decode Ways
SolveYou have intercepted a secret message encoded as a string of numbers. The message is decoded via the following mapping:
Longest Valid Parentheses
SolveGiven a string containing just the characters '(' and ')', return the length of the longest valid (well-formed) parentheses substring.
Balanced Binary Tree
SolveGiven a binary tree, determine if it is height-balanced.
Search a 2D Matrix
SolveYou are given an m x n integer matrix matrix with the following two properties:
Substring with Concatenation of All Words
SolveYou are given a string s and an array of strings words. All the strings of words are of the same length.
Maximum Depth of Binary Tree
SolveGiven the root of a binary tree, return its maximum depth.
Edit Distance
SolveGiven two strings word1 and word2, return the minimum number of operations required to convert word1 to word2.
Remove Duplicates from Sorted List
SolveGiven the head of a sorted linked list, delete all duplicates such that each element appears only once. Return the linked list sorted as well.
Validate Binary Search Tree
SolveGiven the root of a binary tree, determine if it is a valid binary search tree (BST).
Search in Rotated Sorted Array II
SolveThere is an integer array nums sorted in non-decreasing order (not necessarily with distinct values).
Combinations
SolveGiven two integers n and k, return all possible combinations of k numbers chosen from the range [1, n].
Unique Paths II
SolveYou are given an m x n integer array grid. There is a robot initially located at the top-left corner (i.e., grid[0][0]). The robot tries to move to the bottom-r...
Rotate List
SolveGiven the head of a linked list, rotate the list to the right by k places.
Permutation Sequence
SolveThe set [1, 2, 3, ..., n] contains a total of n! unique permutations.
Spiral Matrix II
SolveGiven a positive integer n, generate an n x n matrix filled with elements from 1 to n2 in spiral order.
Count and Say
SolveThe count-and-say sequence is a sequence of digit strings defined by the recursive formula:
N-Queens
SolveThe n-queens puzzle is the problem of placing n queens on an n x n chessboard such that no two queens attack each other.
Remove Duplicates from Sorted List II
SolveGiven the head of a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list. Return the linked li...
Restore IP Addresses
SolveA valid IP address consists of exactly four integers separated by single dots. Each integer is between 0 and 255 (inclusive) and cannot have leading zeros.
Permutations II
SolveGiven a collection of numbers, nums, that might contain duplicates, return all possible unique permutations in any order.
Simplify Path
SolveYou are given an absolute path for a Unix-style file system, which always begins with a slash '/'. Your task is to transform this absolute path into its simplif...
Convert Sorted Array to Binary Search Tree
SolveGiven an integer array nums where the elements are sorted in ascending order, convert it to a height-balanced binary search tree.
Construct Binary Tree from Inorder and Postorder Traversal
SolveGiven two integer arrays inorder and postorder where inorder is the inorder traversal of a binary tree and postorder is the postorder traversal of the same tree...
Combination Sum
SolveGiven an array of distinct integers candidates and a target integer target, return a list of all unique combinations of candidates where the chosen numbers sum...
Maximal Rectangle
SolveGiven a rows x cols binary matrix filled with 0's and 1's, find the largest rectangle containing only 1's and return its area.
Minimum Depth of Binary Tree
SolveGiven a binary tree, find its minimum depth.
Multiply Strings
SolveGiven two non-negative integers num1 and num2 represented as strings, return the product of num1 and num2, also represented as a string.
Binary Tree Level Order Traversal
SolveGiven the root of a binary tree, return the level order traversal of its nodes' values. (i.e., from left to right, level by level).
Unique Binary Search Trees
SolveGiven an integer n, return the number of structurally unique BST's (binary search trees) which has exactly n nodes of unique values from 1 to n.
Subsets II
SolveGiven an integer array nums that may contain duplicates, return all possible subsets (the power set).
Frequency scores are based on crowdsourced interview reports. A higher score means the problem has been reported more often in recent Adobe interviews.
Very Likely
75-100%
Likely
50-74%
Sometimes
25-49%
Rare
0-24%
Adobe interviews focus heavily on array, string, two-pointers problems. If you're short on time, these are the categories to prioritize. The problems on this page are sorted by frequency, so start from the top and work your way down.
Beyond solving problems, practice explaining your approach. Adobe interviewers care about your thought process - how you break down a problem, consider edge cases, and evaluate tradeoffs between solutions. A clean O(n) solution you can explain clearly beats an O(log n) solution you can't articulate.
Looking for more companies? Browse all 458 companies in our directory, or sharpen your fundamentals with our free data structure visualizers and AI-powered DSA tutor.
Adobe has been reported to ask 100 distinct coding problems. The most common topics are array, string, two-pointers. 24 are Easy difficulty, 61 are Medium, and 15 are Hard. Problems are sorted by frequency - the ones at the top are asked most often.
Based on 100 reported problems, Adobe interviews are in line with industry averages - 15% Hard vs 18% overall. 61% of questions are Medium difficulty. Focus on the high-frequency Medium problems first, then work through the Hard ones.
Start with the highest-frequency problems listed on this page. Focus on the core topics: array, string, two-pointers. Practice solving them under time pressure and explaining your approach out loud. Mock interviews with AI can simulate the real experience.
Simulate a real Adobe coding interview with an AI interviewer. Get a scorecard with specific feedback on your problem-solving, code quality, and communication.
Simulate a Adobe interview with AIarrow_forward