leetcode 1736

WellBay 2月前


標籤:mic   不能   src   com   演算法   clu   lazy   algorithm   mtime   

這個題本來不打算寫,既然某kerin告訴我他WA了,,,emmmm? dl 還能WA,新鮮事嘞

順便昂,謝邀

WA了也不能不回訊息吧(不過不是這個題)

鞭屍現場(霧

這個題一看就是不涉及任何複雜演算法的簡單題(當然簡單題也不一定對)

演算法應該叫"貪心"吧,不過是個列舉就是了。

如果說一個注意點就是,要注意string中每一位都是一個char型別,所以你比較數字的時候一定要- ‘0‘

思路在註釋裡


#include<iostream>
#include<vector>
#include <queue>
#include <algorithm>
using namespace std;
//還是要注意一點就是string中的每一位都是char型別,搞數字的時候要  -‘0‘

class Solution {
public:
    char if_time1_digit(string time){//return the number time[0] should be
        if(time[1]-‘0‘>3)
            return ‘1‘;
        else{
            return ‘2‘;
        }
    }
    char if_time0_digit(string time){//return the number time[1] should be
        if(time[0]==‘2‘)
            return ‘3‘;
        else{
            return ‘9‘;
        }
    }
    string maximumTime(string time) {//00:00
        //之前遇見過這個題,無數if的疊加罷了。
        //也是某種意義上的貪心
        //其實後兩個數跟前面沒有什麼關係,直接搞就行
        //前兩個數彼此有制約
        /*
         * 第一個數如果是二,第二個數只能是1 2 3
         * 第二個數如果超過3,第一個數只能是1
         * 如果兩個數都沒有,那就23(你可別傻到兩個都取彼此的最大,29?)
         * 那就,列舉問號在哪裡吧!
         */
        //前兩個
        if (time[0] == ‘?‘ && time[1] == ‘?‘) {
            time[0] = ‘2‘;
            time[1] = ‘3‘;
        } else if (time[0] == ‘?‘ && time[1] != ‘?‘){//不要再犯以前的錯誤啦!你time[0]和time[1]可能已經更改過了,不要用if讓它再進來了
                time[0]=if_time1_digit(time);

        }else if(time[1] == ‘?‘ && time[0] != ‘?‘){
            time[1]=if_time0_digit(time);
        }

        if(time[3]==‘?‘){
            time[3]=‘5‘;
        }

        if(time[4]==‘?‘){
            time[4]=‘9‘;
        }

        return time;

    }
};

leetcode 1736

標籤:mic   不能   src   com   演算法   clu   lazy   algorithm   mtime   

原文地址:https://www.cnblogs.com/zhmlzhml/p/15056429.html


上一篇:虛擬機器安裝注意事項
下一篇:量子:基礎