leetcode周赛225 --得到匹配的时间

在这里插入图片描述

class Solution {
    public boolean check(String str , String time){
        for(int i = 0 ; i < time.length(); i++){
            if( !(str.charAt(i) == time.charAt(i)|| time.charAt(i)=='?')) return false;    
        }
        return true;
    }
    public String maximumTime(String time) {
        /*
        我们的思路如何?
        我们从尾到头枚举所有的情况
        找出符合要求的最大的值
        小时从23 开始递减
        分钟从59 开始递减
        
        找出最符合要求匹配的时间点
        第一 ?匹配继续
        第二:两个字符相等的字符继续比较符合
        */
        for(int i = 23; i >=0 ;i--){
            for(int j  = 59 ; j >= 0 ; j--){
                String str = "";
                if(i<10)str+="0";
                str+=i;
                str+=":";
                if(j < 10) str += 0 ;
                str+=j;
                if(check(str,time)) return str;
            }
        }
        return "";

    }
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值