# Backtracking

## Combination Sum

Given an array of distinct integers candidates and a target integer target, return a list of all unique combinations of candidates where the chosen numbers sum to target. You may return the combinations in any order.

## Generate Parentheses

Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses. For example, given n = 3

## Permutations II

Given a collection of numbers, nums, that might contain duplicates, return all possible unique permutations in any order.

## Permutations

Given an array nums of distinct integers, return all the possible permutations. You can return the answer in any order.

## Unique Paths III

A robot is located at the top-left corner of a m x n grid (marked as ‘Start’ in the diagram below). The robot can either move right or diagonally at any point of time. The robot is trying to reach the top-right corner of the grid (marked as ‘Star’ in the diagram below). How many possible unique paths are there?

## Unique Paths

Find Unique Paths in a 2D Grid from Source to Destination

## Letter Combinations of a Phone Number

Given a string containing digits from 2-9 inclusive, return all possible letter combinations that the number could represent.

## Subsets II

Given an integer array nums that may contain duplicates, return all possible subsets (the power set). The solution set must not contain duplicate subsets. Return the solution in any order.

## Gnerate all possible subsets – Subsets

In mathematics, the power set of a set S is the set of all subsets of S, including the empty set and S itself.