题解 | #ranko的手表#

ranko的手表

https://www.nowcoder.com/practice/37275e85ae7c4453920eae6b9f7f45fc

import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        String t1 = sc.nextLine();
        String t2 = sc.nextLine();
        //用于存储符合规则的字符串
        List<Integer> list1 = new ArrayList<>();
        List<Integer> list2 = new ArrayList<>();
        //24小时存储符合规则的时间
        for (int i = 0; i < 60 * 24; i++) {
            int hour = i / 60;
            int minu = i % 60;
            if ((t1.charAt(0) == '?' || t1.charAt(0) - '0' == hour / 10) &&
                    (t1.charAt(1) == '?' || t1.charAt(1) - '0' == hour % 10)
                    && (t1.charAt(3) == '?' || t1.charAt(3) - '0' == minu / 10) &&
                    (t1.charAt(4) == '?' || t1.charAt(4) - '0' == minu % 10))
                list1.add(i);
            if ((t2.charAt(0) == '?' || t2.charAt(0) - '0' == hour / 10) &&
                    (t2.charAt(1) == '?' || t2.charAt(1) - '0' == hour % 10)
                    && (t2.charAt(3) == '?' || t2.charAt(3) - '0' == minu / 10) &&
                    (t2.charAt(4) == '?' || t2.charAt(4) - '0' == minu % 10))
                list2.add(i);
        }
        int max = 0;
        int min = 60 * 24;
        for(int i = 0;i<list1.size();i++)
            for(int j = 0;j<list2.size();j++){
                if(list1.get(i) < list2.get(j)){
                    max = Math.max(list2.get(j)-list1.get(i),max);
                    min = Math.min(list2.get(j)-list1.get(i),min);
                }
            }
        System.out.println(min+" "+max);
    }   
}

全部评论

相关推荐

头像
昨天 16:23
中南大学 Java
野猪不是猪🐗:签了美团真是不一样! 亲戚们都知道我签了美团,过年都围着我问送一单多少钱,还让弟弟妹妹们引以为戒,笑我爸我妈养了个🐢孩子,说从小就知道我这个人以后肯定没出息,我被骂的都快上天了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务