码迷,mamicode.com
首页 > 其他好文 > 详细

113th LeetCode Weekly Contest Largest Time for Given Digits

时间:2018-12-02 22:49:46      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:排列   val   lap   div   cout   ges   weekly   color   -o   

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: "23:41"

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;
    }
};

 

113th LeetCode Weekly Contest Largest Time for Given Digits

标签:排列   val   lap   div   cout   ges   weekly   color   -o   

原文地址:https://www.cnblogs.com/yinghualuowu/p/10055327.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!