难度简单42
给定一个由 4 位数字组成的数组,返回可以设置的符合 24 小时制的最大时间。
最小的 24 小时制时间是 00:00,而最大的是 23:59。从 00:00 (午夜)开始算起,过得越久,时间越大。
以长度为 5 的字符串返回答案。如果不能确定有效时间,则返回空字符串。
示例 1:
输入:[1,2,3,4] 输出:"23:41"
示例 2:
输入:[5,5,5,5] 输出:""
提示:
A.length == 4
0 <= A[i] <= 9
class Solution {
int Judge[4] = { 3,5,6,10 };
bool Flag[4] = { 0 };
public:
string largestTimeFromDigits(vector<int>& A) {
string result;
int Max_time = -1;
for (int i = 0; i < 4; ++i) {
for (int j = 0; j < 4; j++) {
if(i != j){
for (int k = 0; k < 4; ++k) {
if (k != i && k != j) {
int hour = A[i] * 10 + A[j];
int Min = A[k] * 10 + A[6 - i - j - k];
if (hour < 24 && Min < 60 && hour *100 +Min > Max_time) {
Max_time = hour * 100 + Min;
}
}
}
}
}
}
if(Max_time == -1)
return "";
result = to_string(Max_time);
while (result.length() < 4) {
result.insert(0, "0");
}
result.insert(2, ":");
cout << result << endl;
return result;
}
};