2
public String largestTimeFromDigits(int[] arr) {3
int[] count = new int[10];7
StringBuilder sb = backTrack(count, new StringBuilder());8
if (sb.length() == 4) sb.insert(2, ':');12
private StringBuilder backTrack(int[] count, StringBuilder sb) {13
int size = sb.length();19
start = sb.charAt(0) == '2' ? 3 : 9;27
for (int i = start; i >= 0; i--) {28
if (count[i] == 0) continue;32
if (sb.length() == 4) {35
count[Character.getNumericValue(sb.charAt(sb.length() - 1))]++;36
sb.deleteCharAt(sb.length() - 1);