681. Next Closest Time
- tags
- trick
- source
- leetcode
Edge Cases
Solution 1
- get digits array
- get sorted digits array
- scan from right to left
- find next greater number of digits[i] in sorted
- new digits array
- if valid, this is the answer
- if not valid, digits[i] will be sorted[0]
Complexity
- time: O(4 * 4) = O(1)
- space: O(8) = O(1)
Solution 2
- boolean num[9]
- set digits from time in num true
- try min
- start from min + 1 to 60
if new min is from num, this is the answer
- try hour
- min is composed by smallest number in 4 digits
- start from hour + 1 to 24