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

# ​

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

# ​

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.

# ​

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.

# ​

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

# ​

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.

# ​

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

# ​

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

# ​

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.

# ​

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.

# ​

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

# ​

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.

# ​

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.

# ​

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.

# ​

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.