leetcode日志(200901) 给定数字能组成的最大时间

今天遇到一个非常棒的题目,基本上暴力破解只能用if else嵌套,但是从评论区见到了比官方答案更标准的答案,过于精妙,鉴于今晚状态不好,记录下来,明日仔细研究之后再来更新,贴上题目和最佳题解:

class Solution {
    public String largestTimeFromDigits(int[] A) {
     Arrays.sort(A);
     for(int i=3; i>=0; i--){
            if(A[i]>2) continue;
            for(int j=3; j>=0; j--) {
                if (j==i || A[i]==2 && A[j]>3) continue;
                for (int k=3; k>=0; k--) {
                    if (k==i || k==j || A[k]>5) continue;
                    return "" + A[i] + A[j] + ':' + A[k] + A[6-i-j-k];
                }
            }
        }
         return "";
    }
}

 太巧了,没有普适性,我建议全身分解

原文地址:https://www.cnblogs.com/PPGwo/p/13598515.html