import java.util.ArrayList; import java.util.Collections; import java.util.List; public class Day1 { List result = new ArrayList(); public String largestTimeFromDigits(int[] A) { List arr = new ArrayList(); for (int a: A){ arr.add(a); } permute(arr,0); List goodOnes = new ArrayList(); for (Integer i: result){ if(i % 100 < 60 && i / 100 < 24){ goodOnes.add(i); } } int finalNumber; if(goodOnes.size() == 0){ return ""; } else { finalNumber = Collections.max(goodOnes); } return "" + String.format("%02d",finalNumber / 100) + ":" + String.format("%02d",finalNumber % 100); } void permute(List arr, int k){ for(int i = k; i < arr.size(); i++){ java.util.Collections.swap(arr, i, k); permute(arr, k+1); java.util.Collections.swap(arr, k, i); } if (k == arr.size() -1){ result.add(Integer.parseInt(""+arr.get(0) + arr.get(1) + arr.get(2) + arr.get(3))); } } }