fork download
  1. import java.util.*;
  2. class Permute{
  3. static List<List<Integer>> permute(java.util.List<Integer> arr, int k){
  4. List<List<Integer>> arrs = new ArrayList<>();
  5. for(int i = k; i < arr.size(); i++){
  6. java.util.Collections.swap(arr, i, k);
  7. arrs.addAll(permute(arr, k+1));
  8. java.util.Collections.swap(arr, k, i);
  9. }
  10. if (k == arr.size() -1){
  11. arrs.add(new ArrayList<>(arr));
  12. }
  13. return arrs;
  14. }
  15.  
  16. public static void main(String[] args){
  17. List<Integer> arr = new ArrayList<>(Arrays.asList(1,2,3));
  18. System.out.println(Permute.permute(arr,0));
  19. }
  20. }
Success #stdin #stdout 0.08s 51060KB
stdin
Standard input is empty
stdout
[[1, 2, 3], [1, 3, 2], [2, 1, 3], [2, 3, 1], [3, 2, 1], [3, 1, 2]]