## 080 Remove Duplicates from Sorted Array II

Follow up for “Remove Duplicates”:

What if duplicates are allowed at most *twice*?

For example,

Given sorted array *nums* = `[1,1,1,2,2,3]`

,

Follow up for “Remove Duplicates”:

What if duplicates are allowed at most *twice*?

For example,

Given sorted array *nums* = `[1,1,1,2,2,3]`

,

Given a set of **distinct** integers, *nums*, return all possible subsets.

**Note:** The solution set must not contain duplicate subsets.

Given two integers *n* and *k*, return all possible combinations of *k* numbers out of 1 … *n*.

For example,

If *n* = 4 and *k* = 2, a solution is:

Given an array with *n* objects colored red, white or blue, sort them so that objects of the same color are adjacent, with the colors in the order red, white and blue.

Write an efficient algorithm that searches for a value in an *m* x *n* matrix. This matrix has the following properties:

- Integers in each row are sorted from left to right.

Given a *m* x *n* matrix, if an element is 0, set its entire row and column to 0. Do it in place.

Follow up:

Did you use extra space?

Given a *m* x *n* grid filled with non-negative numbers, find a path from top left to bottom right which *minimizes* the sum of all numbers along its path.

**Note:** You can only move either down or right at any point in time.

A robot is located at the top-left corner of a *m* x *n* grid (marked ‘Start’ in the diagram below).

The robot can only move either down or right at any point in time. The robot is trying to reach the bottom-right corner of the grid (marked ‘Finish’ in the diagram below).

Given an integer *n*, generate a square matrix filled with elements from 1 to *n*2 in spiral order.

For example,

Given *n* = `3`

,

You are given an *n* x *n* 2D matrix representing an image.

Rotate the image by 90 degrees (clockwise).

Follow up:

Could you do this in-place?