题解 | ranko的手表

ranko的手表

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

#include<stdio.h>
int main() {
    char t1[6];
    char t2[6];
    scanf("%s", t1);
    scanf("%s", t2);
    int a1[1500];
    int a2[1500];
    int num1=0,num2=0;
    for (int i = 0; i < 60 * 24; i++) {
        
        if ((t1[0] - '0' == i / 600 || t1[0] == '?') &&
                (t1[1] - '0' == i / 60 % 10 || t1[1] == '?') &&
                (t1[3] - '0' == i % 60 / 10 || t1[3] == '?') &&
                (t1[4] - '0' == i % 60 % 10 || t1[4] == '?')) {
            a1[num1] = i;
            num1++;

        }
        if ((t2[0] - '0' == i / 600 || t2[0] == '?') &&
                (t2[1] - '0' == i / 60 % 10 || t2[1] == '?') &&
                (t2[3] - '0' == i % 60 / 10 || t2[3] == '?') &&
                (t2[4] - '0' == i % 60 % 10 || t2[4] == '?')) {
            a2[num2] = i;
            num2++;
        }
    }
    int max=0;
    int min=60*24;
    for(int i=0;i<num1;i++){
        for(int j=0;j<num2;j++){
            if(a1[i]<a2[j]){
                if(max>a2[j]-a1[i]){
                    max=max;
                }else{
                    max=a2[j]-a1[i];
                }
                if(min<a2[j]-a1[i]){
                    min=min;
                }else{
                    min=a2[j]-a1[i];
                }
            }
        }
    }
    printf("%d %d",min,max);
}

思路来源于牛友

全部评论

相关推荐

牛客583549203号:腾讯还好,况且实习而已,实习生流动性很大,属于正常现象,记得和HR委婉解释
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务