📅  最后修改于: 2023-12-03 14:50:38.167000             🧑  作者: Mango
在一个四位数中,可以用其中的四个数字构成一个合法的时钟时间,找出这个时钟时间中最大的时间值。
因为时钟时间最大为23:59,所以我们首先将四个数字进行排序,然后判断排序好的数字能否构成一个合法的时钟时间。如果能,直接返回结果,如果不能,则继续寻找下一个最大的时钟时间。
def largest_time_from_digits(A):
A.sort(reverse=True)
for i in range(24):
for j in range(60):
if sorted(str(i).zfill(2) + str(j).zfill(2)) == A:
return f"{i:02d}:{j:02d}"
return ""
var largestTimeFromDigits = function(A) {
A.sort((a, b) => b - a);
for (let i = 0; i < 24; i++) {
for (let j = 0; j < 60; j++) {
if (JSON.stringify([...(i + "").padStart(2, 0), ...(j + "").padStart(2, 0)].sort()) === JSON.stringify(A)) {
return `${(i + "").padStart(2, 0)}:${(j + "").padStart(2, 0)}`;
}
}
}
return "";
};
这道题目的解题思路是非常简单的,只需要将四个数字进行排序,然后枚举所有可能的时钟时间,然后判断是否合法即可。