# MOST COMMON Lyft CODING INTERVIEW QUESTIONS

###### The 15 most asked questions in a lyft interview

###### ARRAYS

Determine if the sum of two integers is equal to the given value

__Problem statement__

Given an array of integers and a value, determine if there are any two integers in the array whose sum is equal to the given value.

###### ${title}

Set columns and rows as zeros

__Problem statement__

Given a two-dimensional array, if any element within is zero, make its whole row and column zero.

###### 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__

You are given a linked list where the node has two pointers. The first is the regular ‘next’ pointer. The second pointer is called ‘arbitrary_pointer’ and it can point to any node in the linked list.

Your job is to write code to make a deep copy of the given linked list. Here, deep copy means that any operations on the original list (inserting, modifying and removing) should not affect the copied list.

###### TREES

Level order traversal of binary tree

__Problem statement__

Given the root of a binary tree, display the node values at each level.

###### ${title}

Connect all siblings

__Problem statement__

Connect the sibling pointer to the next node in the same level. The last node in each level should point to the first node of the next level in the tree.

###### STRINGS

Reverse words in a sentence

__Problem statement__

Reverse the order of words in a given sentence(an array of characters).

###### ${title}

Find all palindrome substrings

__Problem statement__

Given a string find all non-single letter substrings that are palindromes.

###### DYNAMIC PROGRAMMING

Find maximum single sell profit

__Problem statement__

Given a list of daily stock prices (integers for simplicity), return the buy and sell prices for making the maximum profit. You need to maximize the single buy/sell profit. If you can't make any profit, try to minimize the loss.

###### MATH AND STATS

Find the missing number in the array

__Problem statement__

You are given an array of positive numbers from 1 to n, such that all numbers from 1 to n are present except one number 'x'. We have to find 'x'. The input array is not sorted.

###### ${title}

Find all sum combinations

__Problem statement__

Given a positive integer, target, print all possible combinations of positive integers that sum up to the target number.

###### BACKTRACKING

Regular expression matching

__Problem statement__

Given a text and a pattern, determine if the pattern matches with the text completely or not at all by using regular expression matching. For simplicity, assume that the pattern may contain only two operators: '.' and '*'. Operator '*' in the pattern means that the character preceding '*' may not appear or may appear any number of times in the text. Operator '.' matches with any character in the text exactly once.

###### GRAPHS

Clone a directed graph

__Problem statement__

Given the root node of a directed graph, clone this graph by creating its deep copy so that the cloned graph has the same vertices and edges as the original graph.

###### SORTING AND SEARCHING

Closest meeting point

__Problem statement__

Given N people on an MxM grid, find the point that requires the least total distance covered by all people to meet at that point.

###### ${title}

Search for the given key in a 2D matrix

__Problem statement__

We are given a 2D array where all elements in any individual row or column are sorted. In such a matrix, we have to search or find the position of a given key.