Advertisement
ogv

Untitled

ogv
Nov 25th, 2019
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.87 KB | None | 0 0
  1. // Runtime: 0 ms, faster than 100.00% of Java online submissions for Permutations.
  2. class Solution {
  3.     public List<List<Integer>> permute(int[] nums) {
  4.         List<List<Integer>> results = new LinkedList<>();
  5.         go(0, nums, results);
  6.         return results;
  7.     }
  8.    
  9.     private void go(int from, int[] nums, List<List<Integer>> results) {
  10.         if (from >= nums.length) {
  11.             List<Integer> r = new ArrayList<Integer>(nums.length);
  12.             for (int num: nums) r.add(num);
  13.             results.add(r);
  14.             return;
  15.         }
  16.        
  17.         int first = nums[from];
  18.         for (int k = from; k < nums.length; k++) {
  19.             nums[from] = nums[k];
  20.             nums[k] = first;            
  21.            
  22.             go(from + 1, nums, results);
  23.            
  24.             nums[k] = nums[from];
  25.         }
  26.         nums[from] = first;
  27.     }
  28. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement