目录标题

  • 题目描述
  • 解题思路
  • 代码

题目描述

大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间星期四 14:04,因为前面两字符串中第 1 对相同的大写英文字母(大小写有区分)是第 4 个字母D,代表星期四;第 2 对相同的字符是E,那是第 5 个英文字母,代表一天里的第 14 个钟头(于是一天的 0 点到 23 点由数字 0 到 9、以及大写字母A到N表示);后面两字符串第 1 对相同的英文字母s出现在第 4 个位置(从 0 开始计数)上,代表第 4 分钟。现给定两对字符串,请帮助福尔摩斯解码得到约会的时间。

输入
输入在 4 行中分别给出 4 个非空、不包含空格、且长度不超过 60 的字符串。

输出
在一行中输出约会的时间,格式为DAY HH:MM,其中DAY是某星期的 3 字符缩写,即MON表示星期一,TUE表示星期二,WED表示星期三,THU表示星期四,FRI表示星期五,SAT表示星期六,SUN表示星期日。题目输入保证每个测试存在唯一解。

输入样例 1

3485djDkxh4hhGE
2984akDfkkkkggEdsb
s&hgsfdk
d&Hyscvnm
输出样例 1

THU 14:04
输入样例 2

23324MONops1
M000ON2??334
aavkdlAe99
bbbnnsAee
输出样例 2

MON 1:04
输入样例 3

122aaT##U2E
TwwwUeeellE
aabbAfff
SS22A33f
输出样例 3

TUE 6:05

解题思路

在第一二段找出第一个相同的字符表示星期,第二个相同的字符表示整时,后两段第一个相同的字符表示分钟。

代码

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);String[] array = new String[4];     //开辟数组空间存储字符串for (int i = 0; i < 4; i++) {array[i] = scanner.nextLine();}String[] week = {"MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN"};  //星期数组boolean day = false;//用来标记第一组字符是否找到char ch1 , ch2 ;for (int i = 0; (i < array[0].length()) && (i < array[1].length()); i++) {  //在前两行字符串中找ch1 = array[0].charAt(i);       //ch保存第一行字符串中第i个位置的字符if (!day && (ch1 >= 'A' && ch1 <= 'G'))// 星期只有7天,所以A-G,题目中的D是第四个字母,所以是A-G{if (array[0].charAt(i) == array[1].charAt(i)) { // 找到第一对相同的大写字母day = true;// 更改标志,表示找到星期System.out.print(week[ch1 - 'A'] + " ");    //输出星期continue;// 继续找第二对相同的字母}}if (day) {      //找时if ((ch1 >= '0' && ch1 <= '9') || (ch1 >= 'A' && ch1 <= 'N')) {// 24小时的表示:0-9,A-Nif (array[0].charAt(i) == array[1].charAt(i)) {if (ch1 <= '9')System.out.printf("%02d:", ch1 - '0');   //输出时elseSystem.out.printf("%02d:", ch1 - 'A' + 10);   //输出时break;//避免后面还有相同的字符}}}}for (int i = 0; (i < array[2].length()) && (i < array[3].length()); i++) {// 遍历第三四行字符串if (array[2].charAt(i) == array[3].charAt(i)) {ch2 = array[2].charAt(i);if ((ch2 >= 'A' && ch2 <= 'Z') || (ch2 >= 'a' && ch2 <= 'z')) {// 题目要求是相同的字母,所以包含大小写System.out.printf("%02d", i);    //输出分break;}}}}
}

java 算法 福尔摩斯的约会相关推荐

  1. Java 1014 福尔摩斯的约会

    题目内容: 大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm.大侦探很快就明白 ...

  2. 浙江大学PAT (Basic Level) Practice (中文)1014福尔摩斯的约会JAVA实现代码及分析

    1014 福尔摩斯的约会 这道题需要注意的地方有以下几点: ①决定星期几的是前两个字符串的第一个相同的大写字母,注意是第一个大写的字母,小写不算. ②决定分钟数的是后两对字符串的第一个相同的字母所出现 ...

  3. java算法----排序----(6)希尔排序(最小增量排序)

    1 package log; 2 3 public class Test4 { 4 5 /** 6 * java算法---希尔排序(最小增量排序) 7 * 8 * @param args 9 */ 1 ...

  4. 希尔排序的java算法_Java算法系列篇 【希尔排序】

    什么? 搞Java不会算法? 由于个人兴趣原因以及工作所需,最近了解Java算法的相关案例 及时分享 感兴趣的欢迎交流 希尔排序 描述: 基本思想:先将整个待排序的记录序列分割成为若干子序列分别进行直 ...

  5. 1014. 福尔摩斯的约会

    题目截图: 思路: 字符串处理. 代码: 1 /* 2 1014. 福尔摩斯的约会 3 */ 4 5 #include <stdio.h> 6 #include <string.h& ...

  6. 1.1.10 从二分查找BinarySearch开启算法学习之路---《java算法第四版》

    文章目录 0.前言 1.功能 2.示例 有两个名单tinyW.txt和tinyT.txt,将tinyT.txt名单中不在tinyW.txt的数据打印出来 ① 实现原理 ② 实现代码 ③ 性能分析 0. ...

  7. Set精讲(Java)·算法常用集合处理方法

    Set精讲(Java)·算法常用集合处理方法 Set概述 Set集合类似于一个罐子,程序可以依次把多个对象"丢进"Set集合,而Set集合通常不能记住元素的添加顺序.实际上Set就 ...

  8. 128位java_求一个java算法,用128位密钥的AES加密128位明文,得出的密文还是128位...很着急,非常感谢各位大神,求救!...

    求一个java算法,用128位密钥的AES加密128位明文,得出的密文还是128位...很着急,非常感谢各位大神,求救! 关注:157  答案:1  mip版 解决时间 2021-02-03 09:1 ...

  9. java算法:冒泡排序

    java算法:冒泡排序 冒泡排序:不断遍历文件,交换倒序的相邻元素,直到文件排好顺序.冒泡排序的主要优点是容易实现,冒泡排序通常会比选择排序.插入排序慢. 如,对EXAMPLE 字母进行排序:  E  ...

最新文章

  1. 使用Tensorflow构建和训练自己的CNN来做简单的验证码识别
  2. QT4 自定义槽和信号
  3. FFMPEG解码264文件步骤
  4. Android之手机摇一摇震动刷新(支持ListView、GridView、WebView)并生成我的二维码
  5. php codesniffer 代码规范,规范三:PHP_CodeSniffer 辅佐代码规范
  6. 开发经常犯的错误之→【join表连接关联查询 】
  7. python新手入门总结_写给已有编程经验的 Python 初学者的总结
  8. Bailian3254 约瑟夫问题No.2【模拟】
  9. C#:获取访问端口号
  10. 分页内存与非分页内存导致的蓝屏死机问题
  11. 百度地图JavaScript 选择 省份 显示 出省份的区域以及省份下的信息标点
  12. MATLAB基础教程
  13. 百位LOL英雄联盟角色合集
  14. [渝粤教育] 西南科技大学 英语泛读 在线考试复习资料
  15. Android各版本的版本号、版本名、API及发布时间
  16. fzyczn生日赛t1 CZN
  17. 现在做硬件工程师还有前途吗?
  18. 真实案例详述:丢手机太危险了
  19. 周师计算机专业学校分数线,周口师范学院是几本?录取分数线是多少
  20. 2021年四川高考成绩分数段查询,2021年四川高考成绩排名查询系统,四川高考位次排名表...

热门文章

  1. SpringBoot中AOP实现落地——Filter(过滤器)、Intercepter(拦截器)、Aspect(Spring AOP)
  2. python qtextedit设置光标位置_Python基础命令学习——就这一篇文章就够了
  3. Unreal的控制台命令参数合集
  4. Hyper Text Transfer Protocol(超文本传输协议)
  5. [LeetCode]--35. Search Insert Position
  6. 通过样式class也是可以控制超链接是否弹窗
  7. VMware三种链接方式
  8. linux下配置Java和Go环境
  9. 剧情很有趣:安全专家被骗记
  10. 免费的数据库建模工具