3Sum Closest

Given an array S of n integers, find three integers in S such that the sum is closest to a given number, target. Return the sum of the three integers. You may assume that each input would have exactly one solution.

4Sum

Given an array S of n integers, are there elements a, b, c, and d in S such that a + b + c + d = target? Find all unique quadruplets in the array which gives the sum of target. Elements in a quadruplet (a, b, c, d) must be in non-descending order. (ie, a ≤ b ≤ c ≤ d) The solution set must not contain duplicate quadruplets.

3Sum

Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all unique triplets in the array which gives the sum of zero. Elements in a triplet (a, b ,c) must be in non-descending order. (ie, a ≤ b ≤ c)

Two Sum

Given an array of integers, find two indices in the array where the values sum to a target. The first index must be less than the second index, and the indicies starts with 1, not 0.

Binary Tree Serialization

Design an algorithm and write code to serialize and deserialize a binary tree. Writing the tree to a file is called ‘serialization’ and reading back from the file to reconstruct the exact same binary tree is ‘deserialization’. Trees are represented in breadth-first order. See Binary Tree Representation for details.

Min Stack

Implement a stack with min() function, which will return the smallest number in the stack. The min-stack supports three operations: push(), pop(), and min(). The push() and pop() are normal stack operations, and the min() operation should return the minimum value on the stack without removing an item from the stack. All three operations should have O(1) time-complexity.

Kth Largest Element

Find K-th largest element in an array.

Digit Counts

Count the number of occurrences of a digit, k, in numbers between 0 to n, inclusively. The digit k can be 0 to 9.

Validate Binary Search Tree

Given a binary tree, determine if it is a valid binary search tree (BST).

Reverse Pairs

For an array A, if i < j, and A [i] > A [j], then (A [i], A [j]) is a reversed pair. Find the total number of reversed pairs in A.