Skip to content

949. Largest Time for Given Digits

949. Largest Time for Given Digits

题目: https://leetcode.com/problems/largest-time-for-given-digits/

难度: Easy

题意:

  1. 给4个0-9的数字
  2. 求能组成最大的时间,时间格式是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;
    }
};


回到顶部