leetcode 949 给定数字能组成的最大时间

给定一个由 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 {
    public String largestTimeFromDigits(int[] A) {
        Arrays.sort(A);
        for (int i = A.length-1;i >= 0;i--) {
            if (A[i] >2 ) continue;
            for (int j = A.length-1;j>=0 ;j--) {
                if (i == j || A[i] == 2 && A[j] > 3) continue;
                for (int k = A.length-1;k >= 0;k--) {
                    if (i ==k || k== j || A[k] > 5) continue;
                    return "" + A[i] + A[j] + ":" +A[k] +A[6-i-j-k];
                }
            }
        }
        return "";
    }
}
发布了315 篇原创文章 · 获赞 8 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_39137699/article/details/103921819
今日推荐