• 113th LeetCode Weekly Contest Largest Time for Given Digits


    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;
        }
    };
  • 相关阅读:
    1088
    1082 read number in chinese
    1079 total sales of supply chain
    1075 pat judge
    1074 reverse list
    1071 speech pattern
    ts 之 多种泛型的处理方式
    玩一下node中的child_process
    玩转 js 位运算
    记录一下尝试的class和function分别作为构造函数方法
  • 原文地址:https://www.cnblogs.com/yinghualuowu/p/10055327.html
Copyright © 2020-2023  润新知