题解 | #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); } }