PAT乙级Java实现_1014 福尔摩斯的约会 (20) _附详细解题注释_14

1014. 福尔摩斯的约会 (20)-PAT乙级真题 1014. 福尔摩斯的约会 (20) 大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧!3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm”。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间“星期四 14:04”,因为前面两字符串中第1对相同的大写英文字母(大小写有区分)是第4个字母’D’,代表星期四;第2对相同的字符是’ 阅读详情

1014 福尔摩斯的约会 (20)(20 分)

大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧! 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表示星期日。题目输入保证每个测试存在唯一解。

输入样例:

3485djDkxh4hhGE 
2984akDfkkkkggEdsb 
s&hgsfdk 
d&Hyscvnm

输出样例:

THU 14:04
作者: CHEN, Yue
单位: PAT联盟
时间限制: 100ms
内存限制: 64MB
代码长度限制: 16KB


package pat_b;
import java.util.Scanner;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Main
{
	public static void main(String[] args) throws IOException
	{
		//读取4行字符串,存储到input字符串列表
		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
		String[] input = new String[4];
		for(int i = 0; i < 4; i++)
			input[i] = in.readLine();
		
		String[] week = {"MON","TUE","WED","THU","FRI","SAT","SUN"};//星期数组
		
		boolean day = false; //注意,第二对相同的字母是在第一对相同字母后面的,所以需要一个标志来判断第一对相同字母是否找到,找到才找第二对相同字母
		char ch1 = 0, ch2 = 0;
		for(int i = 0; (i < input[0].length()) && (i < input[1].length()); i++)
		{//遍历第一二行字符串
			ch1 = input[0].charAt(i);
			if(!day && (ch1 >= 'A' && ch1 <= 'G'))//星期只有7天,所以A-G
			{
				if(input[0].charAt(i) == input[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-N
					if(input[0].charAt(i) == input[1].charAt(i))
					{
						if(ch1 >= '0' && ch1 <= '9')
							System.out.printf("%02d:",ch1-'0');
						else
							System.out.printf("%02d:",ch1-'A'+10);
						break;//跳出遍历,避免后面还有相同的字符
					}
				}
			}
		}
		
		for(int i = 0; (i < input[2].length()) && (i < input[3].length()); i++)
		{//遍历第三四行字符串
			if(input[2].charAt(i) == input[3].charAt(i))
			{
				ch1 = input[2].charAt(i);
				if((ch1 >= 'A' && ch1 <= 'Z') || (ch1 >= 'a' && ch1 <= 'z'))
				{//题目要求是相同的字母,所以包含大小写
					System.out.printf("%02d",i);
					break;//跳出遍历
				}
			}
		}
		
		
	}
	
}
用Java效率还是太低了,挨着限制时间通过了,有时会超时(100ms),刷新几次就过了。


SAP-QM-质检操作 阅读详情

相关推荐

微机原理-基于8086电压报警2.5V仿真系统设计

*单片机设计介绍,微机原理-基于8086电压报警2.5V仿真系统设计。

2201_75940997的博客 1083

PAT B1014 福尔摩斯的约会 (20point(s))

大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间星期四 14:04,因为前面两字符串中第 1 对相同的大写英文字母(大小写有区分)是第 4 个字母 D,代表星期四;第 2 对相同的字符是 E ,那是第 5 个英文字母,代...

qq_42347617的博客 723

SQLSTATE58030

在优化一条SQL的时候遇到了执行错误 gtlions =# select t1.telnumber,t2.ua,t2.url,t1.apply_name,t2.apply_name from tb1 t1 gtlions -# left outer join tb2 t2 on t1.sid = t2.ipsid gtlions-# where t1.sum_date=20141128 a

Gtlions Tracker 3660

Java 1014

学习总结

Zhoubo____的专栏 344

TRK-MPC5634M开发板实战:从硬件解析到CAN、ADC外设驱动调试

在嵌入式系统开发,尤其是汽车电子和工业控制领域,微控制器(MCU)是核心执行单元。其工作原理基于处理器内核、存储器和丰富的外设接口协同工作,通过软件编程实现对硬件的精确控制。这种技术价值在于能够为严苛环境提供可靠、实时的控制解决方案。典型的应用场景包括汽车车身控制、网关、电池管理系统以及工业自动化设备。本文聚焦于恩智浦(NXP)基于Power Architecture e200z0内核的汽车级MCU——MPC5634M,并以其官方评估板TRK-MPC5634M为平台,深入探讨其硬件设计逻辑、软件环境搭建及核

weixin_29997523的博客 288

①Modbus TCP转Modbus RTU/ASCII网关同步采集无需编程高速轻松组网

MS-A1-50X1系列作为MODBUS TCP通信的服务器进行动作。可通过MODBUS TCP 通信,将 MS-A1-50X1 系列产品通过 RS485 采集的仪器仪表之类的值作为通信数 据输出到 PLC,上位机等。

2401_89571741的博客 1398

【PAT乙级】1014 福尔摩斯的约会

PAT 乙级(Basic Level) Practice --- 《1014 福尔摩斯的约会》 c语言解题代码

Weber Zhou 的博客 894

ANPC三电平拓扑:两种调制方式解析

ANPC结构是基于“I”型NPC结构(下面讲NPC如不特殊说明,均指的是“I”型结构NPC)发展出来的一种改进型。我们在讲NPC结构的时候会谈到他的一个缺点就是损耗分布不均匀,会导致温升不均衡,进而限制模块的功率输出能力。而ANPC结构由于多了两个开关管以及相应的两个中性点换流回路(如下图),可以更加灵活任意的配置开关管可以使损耗没有那么的不均衡,从而能一定程度上提高模块的输出功率。ANPC拓扑结构图以及增加的环流回路。

IOTBOT的博客 9483

1014. 福尔摩斯的约会

1014. 福尔摩斯的约会 ⼤侦探福尔摩斯接到⼀张奇怪的字条: “我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm” ⼤侦探很快就明⽩了,字条上奇怪的乱码实际上就是约会的时间“星期四 14:04”, 因为前⾯两字符串中第1对相同的⼤写英⽂字⺟(⼤⼩写有区分)是第4个字⺟’D’, 代表星期四;第2对相同的字符是’E’,那是第5个英⽂字⺟,代表⼀天⾥的第14个钟头(于是⼀天的0点到23点由数字0到9、以及⼤写字⺟A到N

前端学习博客 358

NAS新玩法!豆瓣与迅雷结合,轻松实现自动下载电影自动追剧功能

NAS新玩法!豆瓣与迅雷结合,轻松实现自动下载电影自动追剧功能

XiaoqiangClub的博客 6387

halcon与QT联合:(5.1)瓶盖检测以及QT界面搭建

halcon实现瓶盖检测与定位代码: dev_close_window() dev_open_window(0, 0, 1024, 1024, 'black', WindowHandle) list_image_files('C:/Users/TIMI/Desktop/picture/circle', 'default', [], ImageFiles) for J := 1 to 4 by 1 *read image read_image(halconImage, ImageFil

m0_37957160的博客 1044

PAT 乙级 1014 福尔摩斯的约会

解题思路:这题可把我给弄惨了,研究了很长时间,原因一是第一次我用python写想用字典的get函数去处理字母和数字字符,利用默认值,可是万万没想到,字符串格式化对字符和数字的补0是不一样的,这个错误我找了好久其余的坑都一言我统一说一说。第二个点 必须是第一个已经找到,再去找第二个,第二个范围只能是0~9,A-N,判断的时候看好,并且一定是找到就跳出循环,不然后面可能还有满足的。这题第一个要注意的点是范围,大写字母,寻找日期的范围只能是A~G 刚好七个,判断的时候就要注明。

qq_44063802的博客 1342

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

PAT乙级【Java题解合集】

超级全的PAT的JAVA题解

小羊不会飞的博客 3732

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

pat甲级1014柳神代码解析自学复盘用

pat1014银行排队,柳神代码解析思考,自学复盘用

qq_51485101的博客 936

PAT乙级真题 — 1048 数字加密(java)

本题要求实现一种数字加密方法。首先固定一个加密用正整数 A,对任一正整数 B,将其每 1 位数字与 A 的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对 13 取余——这里用 J 代表 10、Q 代表 11、K 代表 12;对偶数位,用 B 的数字减去 A 的数字,若结果为负数,则再加 10。这里令个位为第 1 位。

2403_89522296的博客 625

牛客网 2018校招真题 百度 完成括号匹配

Description 牛客网 2018校招真题 完成括号匹配 Solving Ideas 参考 缺失的括号 Time complexity : O(n)O(n)O(n) Space complexity : O(1)O(1)O(1) Solution import java.io.BufferedReader; import java.io.IOException; import java.io...

wylu 391

PAT乙级1014题解

题目详情: 1014 福尔摩斯的约会 (20 分) 大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间星期四 14:04,因为前面两字符串中第 1 对相同的大写英文字母(大小写有区分)是第 4 个字母 D,代表星期四;第 2 对相同的字符是 E ,那是第 5 个英文字母,代表一天里的第 14 个钟头(于是一天的 0 点到 23 点由

YHL的博客 404

PAT甲级真题 1014 Wait In Line

一、题目 二、思路 题意:模拟排队,但和实际排队的区别在于: 一旦入队,不得换队; 17:00之前未开始办理的消费者,给予Sorry; 17:00之后,已开始办理的消费者,继续办理直到办理结束; 思路:模拟排队,记录消费者办理结束所需的总时间(以分钟为单位,最后转换为时刻,由等待时间、办理时间组成),若等待时间wt>540,则给予Sorry;否则,根据总时间sum算出相应时刻; 注意:当两...

Superpig的博客 512

PAT - 甲级 - 1014. Waiting in Line (30)(STL-queue)

Suppose a bank has N windows open for service. There is a yellow line in front of the windows which devides the waiting area into two parts. The rules for the customers to wait in line are:  The

i逆天耗子 364

1014 福尔摩斯的约会 (20 分)详解附测试点

大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间星期四 14:04,因为前面两字符串中第 1 对相同的大写英文字母(大小写有区分)是第 4 个字母D,代表星期四;第 2 对相同的字符是E,那是第 5 个英文字母,代...

qq_44985985的博客 2841

Java - PAT - 1014. 福尔摩斯的约会 (20)

时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小) 题目描述 大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm”。大侦探很 快就明白了,字条上奇怪的乱码实际上就是约会的时间“星期四 14:04”,因为前

i逆天耗子 1942

[PAT-乙级]B1014 福尔摩斯的约会(20 分)

PAT:B1014 福尔摩斯的约会(20 分) 大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&amp;hgsfdk d&amp;Hyscvnm。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间星期四 14:04,因为前面两字符串中第 1 对相同的大写英文字母(大小写有区分)是第 4 个字母 D,代表星期四;第 2...

Ecloss 689

PAT 1014 福尔摩斯的约会 (20分)(Java)

题目描述   大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间星期四 14:04,因为前面两字符串中第 1 对相同的大写英文字母(大小写有区分)是第 4 个字母 D,代表星期四;第 2 对相同的字符是 E ,那是第 5 ...

HenryLei的博客 2万+

PAT乙级—1014. 福尔摩斯的约会 (20)-native

大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm”。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间“星期四 14:04”,因为前面两字符串中第1对相同的大写英文字母(大小写有区分)是第4个字母’D’,代表星期四;第2对相同的字符是’E’,那是第5个英文字母,代表一天里的第14个钟头(

Ken 3425
上一篇: PAT乙级Java实现_1013 数素数 (20) _附详细解题注释_13
下一篇: PAT乙级Java实现_1015 德才论 (25) _附详细解题注释_15
coder__666
博客等级 码龄9年 42粉丝 52原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值