# MOST COMMON Adobe CODING INTERVIEW QUESTIONS

###### The 15 most commonly asked adobe interview 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.

###### ${title}

Find the missing number in the array

__Problem statement__

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.

###### LINKED LISTS

Add two integers

__Problem statement__

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.

###### ${title}

Copy linked list with arbitrary pointer

__Problem statement__

Make a deep copy of the given linked list where each node has two pointers: 'next' and 'arbitrary_pointer'.

###### TREES

Connect all siblings

__Problem statement__

Given the root to a binary tree where each node has an additional pointer called sibling (or next), connect the sibling pointer to the next node in the same level.

###### ${title}

Determine if the binary tree is a binary search tree

__Problem statement__

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.

###### STRINGS

String segmentation

__Problem statement__

Given a dictionary of words and an input string tell whether the input string can be completely segmented into dictionary words.

###### ${title}

Find all palindrome substrings

__Problem statement__

Given a string, find all substrings that are palindromes.

###### DYNAMIC PROGRAMMING

Find the maximum sum of a subarray

__Problem statement__

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

###### MATH AND STATS

Determine if the number is valid

__Problem Statement__

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.

###### BACKTRACKING

Boggle

__Problem Statement__

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.

###### GRAPHS

Find the minimum spanning tree

__Problem Statement__

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

###### DESIGN

Implement a LRU cache

__Problem Statement__

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.

###### SORTING AND SEARCHING

Merge overlapping intervals

__Problem statement__

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

###### ${title}

Search in a 2D matrix

__Problem Statement__

Search, or find the position of, a given key in a 2D matrix. All rows and columns are sorted.