团队天梯赛L1-077 大笨钟的心情 (15 分)
一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第20天,点击查看活动详情。
1、题目📑
有网友问:未来还会有更多大笨钟题吗?笨钟回复说:看心情……
本题就请你替大笨钟写一个程序,根据心情自动输出回答。
输入格式:
输入在一行中给出 24 个 [0, 100] 区间内的整数,依次代表大笨钟在一天 24 小时中,每个小时的心情指数。
随后若干行,每行给出一个 [0, 23] 之间的整数,代表网友询问笨钟这个问题的时间点。当出现非法的时间点时,表示输入结束,这个非法输入不要处理。题目保证至少有 1 次询问。
输出格式:
对每一次提问,如果当时笨钟的心情指数大于 50,就在一行中输出 心情指数 Yes,否则输出 心情指数 No。
输入样例:
80 75 60 50 20 20 20 20 55 62 66 51 42 33 47 58 67 52 41 20 35 49 50 63
17
7
3
15
-1
输出样例:
52 Yes
20 No
50 No
58 Yes
2、思路🧠
方法:
本题的解法非常的简单,只要是看懂了题目的意思,对数组熟悉的话,此题是一定要拿分的题目,关键在于对逻辑的判断是否合理得当,在第一次的提交中,拿到了12分,在分析条件之后没有任何逻辑错误。
而是忽略了一种情况,就是当最后一次输入为-1时,没有进行考虑,导致有一个样例无法通过。
废话少说~~~~~上代码!
3、代码👨💻
第一次commit AC
import java.util.*;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int arr[] = new int [24 + 10];
for (int i = 0; i < 24; i++) {
arr[i] = sc.nextInt();
}
for (int i = 0;i<arr.length; i++) {
int num = sc.nextInt();
if (num < 0 || num > 23) {
break;
}
System.out.print(arr[num]);
if (arr[num] > 50) {
System.out.println(" Yes");
} else {
System.out.println(" No");
}
}
}
}
修改后 满分AC
import java.util.*;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int arr[] = new int [24 + 10];
for (int i = 0; i < 24; i++) {
arr[i] = sc.nextInt();
}
for (int i = 0;; i++) {
int num = sc.nextInt();
if (num < 0 || num > 23) {
break;
}
System.out.print(arr[num]);
if (arr[num] > 50) {
System.out.println(" Yes");
} else {
System.out.println(" No");
}
}
}
}
4、总结
该题目的是对题目信息的解读,考察阅读能力,以及提出功能,对于功能的实现能力。
❤️来自专栏《LeetCode基础算法题》欢迎订阅❤️
厂长写博客目的初衷很简单,希望大家在学习的过程中少走弯路,多学一些东西,对自己有帮助的留下你的赞赞👍或者关注➕都是对我最大的支持,你的关注和点赞给厂长每天更文的动力。
对文章其中一部分不理解,都可以评论区回复我,我们来一起讨论,共同学习,一起进步!