# most common adobe coding interview questions

For detailed solutions to each question, you can visit
Grokking the Coding Interview: Patterns for Coding Questions

# Arrays

#### Determine if the sum of three integers is equal to the given value

Problem statement

Given an array of integers and a value, determine if there are any three integers in the array whose sum equals the given value.

# ​

We are given an array containing ‘n’ distinct numbers taken from the range 0 to ‘n’. Since the array has only ‘n’ numbers out of the total ‘n+1’ numbers, find the missing number.

# ​

Given the head pointers of two linked lists where each linked list represents an integer number (each node is a digit), add them and return the resulting linked list.

# ​

Given the head of a singly linked list, write a function to determine if the linked list has a cycle in it or not.

# ​

Given a binary tree, populate an array to represent its zigzag level order traversal. You should populate the values of all nodes of the first level from left to right, then right to left for the next level and keep alternating in the same manner for the following levels.

# ​

Given a Binary Tree, figure out whether it's a Binary Search Tree. In a binary search tree, each node's key value is smaller than the key value of all nodes in the right subtree, and are greater than the key values of all nodes in the left subtree i.e. L < N < R.

# ​

Given a string, find the length of the longest substring which has no repeating characters.

# ​

Given a string, find the length of the longest substring in it with no more than K distinct characters.

# ​

Given an array of positive numbers and a positive number ‘k’, find the maximum sum of any contiguous subarray of size ‘k’.

# ​

Given an input string, determine if it makes a valid number or not. For simplicity, assume that white spaces are not present in the input.

# ​

Given an NxN grid of characters and a dictionary, find all words which can be made from the characters in the grid and are present in the given dictionary. A word can start and end at any character in the grid. The next character must be adjacent to the previous character in any of the directions i.e. up, down, left, right and diagonal. The character at each position in the grid can be used only once while making a word.

# ​

Find the minimum spanning tree of a connected, undirected graph with weighted edges.

# ​

Least Recently Used (LRU) is a common caching strategy. It defines the policy to evict elements from the cache to make room for new elements when the cache is full, meaning it discards the least recently used items first.

# ​

Given a list of intervals, merge all the overlapping intervals to produce a list that has only mutually exclusive intervals.

# ​

Given an array of numbers sorted in an ascending order, find the ceiling of a given number ‘key’. The ceiling of the ‘key’ will be the smallest element in the given array greater than or equal to the ‘key’. Write a function to return the index of the ceiling of the ‘key’. If there isn’t any ceiling return -1.

For detailed solutions to each question, you can visit
Grokking the Coding Interview: Patterns for Coding Questions