Permutations
Given a collection of numbers, return all possible permutations.
For example,
[1,2,3]
have the following permutations:[1,2,3]
, [1,3,2]
, [2,1,3]
, [2,3,1]
, [3,1,2]
, and [3,2,1]
.public class Solution { public ArrayList<ArrayList<Integer>> permute(int[] num) { // Start typing your Java solution below // DO NOT write main() function ArrayList<ArrayList<Integer>> permutations = new ArrayList<ArrayList<Integer>>(); permutations.add(new ArrayList<Integer>()); for (int i=0; i<num.length; i++) { int currentSize = permutations.size(); for (int j=0; j<currentSize; j++) { ArrayList<Integer> sub = permutations.get(0); permutations.remove(sub); for (int k=0; k<=sub.size(); k++) { ArrayList<Integer> newSub = new ArrayList<Integer>(sub); newSub.add(k,num[i]); permutations.add(newSub); } } } return permutations; } }
No comments:
Post a Comment