Given an array of 4 digits, return the largest 24 hour time that can be made.

The smallest 24 hour time is 00:00, and the largest is 23:59.  Starting from 00:00, a time is larger if more time has elapsed since midnight.

Return the answer as a string of length 5.  If no valid time can be made, return an empty string.

 

Example 1:

Input: [1,2,3,4]
Output: 

Example 2:

Input: [5,5,5,5]
Output: 

 

Note:

  1. A.length == 4
  2. 0 <= A[i] <= 9

给四个数字,组合成时间看得到的最大值是多少

全排列过去,把不符合规定的筛选掉就OK

class Solution {
public:
    string largestTimeFromDigits(vector<int>& A) {
        int x[4];
        for(int i=0;i<4;i++){
            x[i]=A[i];
        }
        string u = "";
        sort(x,x+4);
        do{
            if(x[0]>=3){
            continue;
            }
            if(x[0]==2){
                if(x[1]>3){
                    continue;
                }
            }
            if(x[2]>=6){
                continue;
            }
            
            int H,M;
            u = "";
            u += to_string(x[0]);
            u += to_string(x[1]);
            u +=':';
            u += to_string(x[2]);
            u += to_string(x[3]);
            cout<<u<<endl;
            cout<<x[0]<<" "<<x[1]<<" "<<x[2]<<" "<<x[3]<<endl;
        }while(next_permutation(x,x+4));
        return u;
    }
};

 

相关文章:

  • 2022-12-23
  • 2021-09-22
  • 2022-01-26
  • 2022-12-23
  • 2022-12-23
  • 2021-10-23
  • 2022-02-02
  • 2021-11-29
猜你喜欢
  • 2022-12-23
  • 2021-10-10
  • 2021-09-16
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-23
相关资源
相似解决方案