949. Largest Time for Given Digits
949. Largest Time for Given Digits
题目: https://leetcode.com/problems/largest-time-for-given-digits/
难度: Easy
题意:
- 给4个0-9的数字
- 求能组成最大的时间,时间格式是hh:mm
思路:
- 枚举所有的hh:mm的格式
- 判断是否符合时间的要求,hh<24,mm<60
- 寻找最大的时间
解法:
class Solution {
public:
string largestTimeFromDigits(vector<int>& A) {
string ret = "";
for (int i = 0;i < 4;i++) {
for (int j = 0;j < 4;j++) {
if (i == j) continue;
if (A[i] * 10 + A[j] >= 24) continue;
for (int k = 0;k < 4;k++) {
if (i == k || j == k) continue;
for (int l = 0;l < 4;l++) {
if (i == l || j == l || k == l) continue;
string s = "";
if (A[k] * 10 + A[l] >= 60) continue;
s = string("") + char(A[i] + '0') + char(A[j] + '0') + ":" + char(A[k] + '0') + char(A[l] + '0');
if (ret < s) {
ret = s;
}
}
}
}
}
return ret;
}
};