Facebook
From Coral Hedgehog, 3 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 168
  1. class Solution {
  2.    
  3.     public String largestTimeFromDigits(int[] A) {
  4.         List<Integer> digits =Arrays.stream(A).boxed().collect(Collectors.toList());
  5.         List<Integer> permutations = new ArrayList<Integer>();
  6.         permutations = permute(digits,0,permutations);
  7.         int result = -1;
  8.         for (Integer i: permutations){
  9.             if(i % 100 < 60 && i / 100 < 24 && i > result){
  10.                 result = i;
  11.             }
  12.         }
  13.         return result == -1? "" : "" + String.format("%02d",result / 100) + ":" + String.format("%02d",result % 100);
  14.     }
  15.  
  16.     List<Integer> permute(List<Integer> arr, int k, List<Integer> result){
  17.         for(int i = k; i < arr.size(); i++){
  18.             java.util.Collections.swap(arr, i, k);
  19.             permute(arr, k+1, result);
  20.             java.util.Collections.swap(arr, k, i);
  21.         }
  22.         if (k == arr.size() -1){
  23.             result.add(Integer.parseInt(""+arr.get(0) + arr.get(1) + arr.get(2) + arr.get(3)));
  24.         }
  25.         return result;
  26.     }
  27. }