【洛谷算法题】P1425-小鱼的游泳时间【入门1顺序结构】

简介: 【洛谷算法题】P1425-小鱼的游泳时间【入门1顺序结构】

【洛谷算法题】P1425-小鱼的游泳时间【入门1顺序结构】

题目链接:小鱼的游泳时间 - 洛谷

🌏题目描述

伦敦奥运会要到了,小鱼在拼命练习游泳准备参加游泳比赛,可怜的小鱼并不知道鱼类是不能参加人类的奥运会的。

这一天,小鱼给自己的游泳时间做了精确的计时(本题中的计时都按 24 2424 小时制计算),它发现自己从 a aab bb 分一直游泳到当天的 c ccd dd 分,请你帮小鱼计算一下,它这天一共游了多少时间呢?

小鱼游的好辛苦呀,你可不要算错了哦。

🌏输入格式

一行内输入四个整数,以空格隔开,分别表示题目中的 a , b , c , d a, b, c, da,b,c,d

🌏输出格式

一行内输出两个整数 e eef ff,用空格间隔,依次表示小鱼这天一共游了多少小时多少分钟。其中表示分钟的整数 f ff 应该小于 60 6060

🌏样例 #1

🌙样例输入 #1

12 50 19 10

🌙样例输出 #1

6 20

🌏提示

对于全部测试数据,0 ≤ a , c ≤ 24 0\le a,c \le 240a,c240 ≤ b , d ≤ 60 0\le b,d \le 600b,d60,且结束时间一定晚于开始时间。

🌏题解

题解一:

import java.util.Scanner;
public class P1425 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int a = in.nextInt(), b = in.nextInt(), c = in.nextInt(), d = in.nextInt();
        // 将两个时间点内的时间差转换为分钟数, 然后再得出小时和分钟数
        int e = ((c - a) * 60 - b + d) / 60;
        int f = ((c - a) * 60 - b + d) % 60;
        System.out.print(e + " " + f);
        in.close();
    }
}

题解二:

import java.util.Scanner;
public class P1452 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int a = in.nextInt(), b = in.nextInt(), c = in.nextInt(), d = in.nextInt();
        // 小时
        int x = c - a;
        // 分钟
        int y = d - b;
        // 如果分钟数为负数, 则小时加1,分钟等于 y 加 60
        if(y < 0) {
            x--;
            y = y + 60;
        }
        System.out.println(x + " " + y);
        in.close();
    }
}

🌏总结

这个题思路很简单,一般来说有两种做法:

  1. 把相差的时间全部转换成分钟数,然后使用除法和取余输出小时和分钟数。
  2. 小时减去小时,分钟减去分钟。然后直接输出对应的结果。因为结束时间一定晚于开始时间,而且同为 24 小时制,所以小时可以不用考虑出现负数的情况;而如果分钟数出现负数,则可以让小时数减 1,分钟数用 60 加上这个负数就得到了正确的结果。

作者:花无缺(huawuque404.com)


相关文章
|
2天前
|
负载均衡 算法 应用服务中间件
面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
字节跳动面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
49 0
|
2天前
|
存储 监控 NoSQL
Redis处理大量数据主要依赖于其内存存储结构、高效的数据结构和算法,以及一系列的优化策略
【5月更文挑战第15天】Redis处理大量数据依赖内存存储、高效数据结构和优化策略。选择合适的数据结构、利用批量操作减少网络开销、控制批量大小、使用Redis Cluster进行分布式存储、优化内存使用及监控调优是关键。通过这些方法,Redis能有效处理大量数据并保持高性能。
22 0
|
2天前
|
存储 机器学习/深度学习 算法
|
2天前
|
网络协议 算法 数据库
【专栏】OSPF是广泛应用的链路状态路由协议,通过分层网络结构和SPF算法实现高效路由。强烈建议收藏!
【4月更文挑战第28天】OSPF是广泛应用的链路状态路由协议,通过分层网络结构和SPF算法实现高效路由。其关键特性包括区域划分、链路状态数据库、邻居关系和路由更新。工作过程涉及邻居发现、信息交换、数据库构建、路由计算及收敛。理解OSPF对于网络管理和规划具有重要意义。
|
2天前
|
机器学习/深度学习 人工智能 算法
分类算法入门:以鸢尾花数据集为例(上)
分类算法入门:以鸢尾花数据集为例(上)
36 2
|
2天前
|
机器学习/深度学习 算法 数据可视化
分类算法入门:以鸢尾花数据集为例(下)
分类算法入门:以鸢尾花数据集为例(下)
55 2
|
2天前
|
存储 算法
【算法与数据结构】深入解析二叉树(二)之堆结构实现
【算法与数据结构】深入解析二叉树(二)之堆结构实现
|
2天前
|
存储 算法 JavaScript
Java入门高频考查算法逻辑基础知识3-编程篇(超详细18题1.8万字参考编程实现)
解决这类问题时,建议采取下面的步骤: 理解数学原理:确保你懂得基本的数学公式和法则,这对于制定解决方案至关重要。 优化算法:了解时间复杂度和空间复杂度,并寻找优化的机会。特别注意避免不必要的重复计算。 代码实践:多编写实践代码,并确保你的代码是高效、清晰且稳健的。 错误检查和测试:要为你的代码编写测试案例,测试标准的、边缘情况以及异常输入。 进行复杂问题简化:面对复杂的问题时,先尝试简化问题,然后逐步分析和解决。 沟通和解释:在编写代码的时候清晰地沟通你的思路,不仅要写出正确的代码,还要能向面试官解释你的
35 0
|
2天前
|
存储 算法 JavaScript
【C++ 泛型编程 入门篇】 C++ 中的泛型算法 STL(sort,find)(二)
【C++ 泛型编程 入门篇】 C++ 中的泛型算法 STL(sort,find)
35 0
|
2天前
|
算法 搜索推荐 程序员
【C++ 泛型编程 入门篇】 C++ 中的泛型算法 STL(sort,find)(一)
【C++ 泛型编程 入门篇】 C++ 中的泛型算法 STL(sort,find)
41 0