首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
有礼貌的山羊追赶太阳
华南师范大学 Java
发布于广东
关注
已关注
取消关注
哥们,牛客样例还是太不全面了,我自创了个样例,你的代码是过不了的。
1?:11
18:59
按理来说这种最小时间应该是18:11 到18:59的时间差,即48分钟。但是你的代码没有考虑这种情况,导致结果为1分钟。
@牛客45421642号:
题解 | #ranko的手表#
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息/**思路:1、最小间隔时间、最大间隔时间2、第一次的小时、分钟,每一位单独处理3、第二次小时分钟,每一位单独处理4、注意各种特殊情况的处理,比如小时第二位,第一次比第二次大,就要将第一位+15、如果分钟,第一次比第二次大,就要将小时往前推,前提是第一次和第二次在所有值填充完了以后,小时相同6、最大相差,直接去各自的极值,不用考虑各种重合情况 */public class Main { public static void main(String[] args) throws IOException{ BufferedReader buff = new BufferedReader(new InputStreamReader(System.in)); //获取输入事件 String time1 = buff.readLine(); String time2 = buff.readLine(); int min = Math.max(1, min(time1, time2)); int max = max(time1,time2); System.out.println(min + " " + max); } //找到两个时间最小差距 public static int min(String time1,String time2) { //取最大时间 //取时间1的时分 String hour1 = time1.split(":")[0]; String minute1 = time1.split(":")[1]; //取最大时间 //获取时间2的时分 String hour2 = time2.split(":")[0]; String minute2 = time2.split(":")[1]; //第一行小时如果是? if(hour1.charAt(0) == '?' && hour2.charAt(0) != '?') { hour1 = hour2.charAt(0) + "" + hour1.charAt(1); } if(hour1.charAt(0) == '?' && hour2.charAt(0) == '?') { if(hour1.charAt(1)>hour2.charAt(1)) { hour1 = "0" + hour1.charAt(1); hour2 = "1" + hour2.charAt(1); }else { hour1 = "0" + hour1.charAt(1); hour2 = "0" + hour2.charAt(1); } } if(hour1.charAt(1) == '?') { if(hour1.charAt(0) == '2') { hour1 = hour1.charAt(0) + "3"; }else { hour1 = hour1.charAt(0) + "9"; } } if(minute1.charAt(0) == '?') { minute1 = "5" + minute1.charAt(1); } if(minute1.charAt(1) == '?') { minute1 = minute1.charAt(0) + "9"; } if(hour2.charAt(0) == '?') { if(hour1.charAt(1)> hour2.charAt(1)) { hour2 = (Integer.parseInt(hour1.charAt(0) + "") + 1) + "" + hour2.charAt(1); } } if(hour2.charAt(1) == '?') { if(hour1.charAt(0) == hour2.charAt(0)) { hour2 = hour2.charAt(0) + "" + hour1.charAt(1); }else { hour2 = hour2.charAt(0) + "0"; } } if(minute2.charAt(0) == '?') { if(hour1.equals(hour2)) { minute2 = minute1.charAt(0) + "" + minute2.charAt(1); }else { minute2 = "0" + minute2.charAt(1); } } if(minute2.charAt(1) == '?') { if(hour1.equals(hour2) && (minute1.charAt(0) == minute2.charAt(0))) { minute2 = minute2.charAt(0) + "" + minute1.charAt(1); }else { minute2 = minute2.charAt(0) + "0"; } } //小时相互减 int resultH = Integer.parseInt(hour2) - Integer.parseInt(hour1); //分钟 if(Integer.parseInt(minute2) < Integer.parseInt(minute1)) { if(resultH == 0) { resultH += 1; } } int minute = Integer.parseInt(minute2) - Integer.parseInt(minute1); return resultH*60 + minute; } //找到最大差距 public static int max(String time1,String time2) { //取最大时间 //取时间1的时分 String hour1 = time1.split(":")[0]; String minute1 = time1.split(":")[1]; //取最大时间 //获取时间2的时分 String hour2 = time2.split(":")[0]; String minute2 = time2.split(":")[1]; //第一位小时如果是? if(hour1.charAt(0) == '?') { hour1 = "0" + hour1.charAt(1); } if(hour1.charAt(1) == '?') { hour1 = hour1.charAt(0) + "0"; } if(minute1.charAt(0) == '?') { minute1 = "0" + minute1.charAt(1); } if(minute1.charAt(1) == '?') { minute1 = minute1.charAt(0) + "0"; } //第二行的时间 if(hour2.charAt(0) == '?') { hour2 = "2" + hour2.charAt(1); } if(hour2.charAt(1) == '?') { if(hour2.charAt(0) == '2') { hour2 = hour2.charAt(0) + "3"; }else { hour2 = hour2.charAt(0) + "9"; } } if(minute2.charAt(0) == '?') { minute2 = "5" + minute2.charAt(1); } if(minute2.charAt(1) == '?') { minute2 = minute2.charAt(0) + "9"; } //小时相互减 int resultH = Integer.parseInt(hour2) - Integer.parseInt(hour1); //分钟 int minute = Integer.parseInt(minute2) - Integer.parseInt(minute1); return resultH*60 + minute; }}
点赞 0
评论 1
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
昨天 19:38
安徽大学 Java
许愿字节暑期oc
3.11 一面3.18 二面3.27 三面4.3 hr面
点赞
评论
收藏
分享
03-30 19:28
门头沟学院 大数据开发工程师
从网易“AI 替代外包”热议谈起
近年来,“Vibe Coding”这一概念在开发者社区中开始流行。它主张以轻松、即兴、灵感驱动的方式进行编程,而不是严格遵循传统规范和流程。它强调快速原型、即时反馈和创造力输出,尤其在前端和产品原型领域受到年轻开发者的追捧。与此同时,随着 AI 编程助手、低代码/无代码工具 的迅速发展,一些人开始担忧:初级程序员的岗位会不会被这种新模式干掉?一、Vibe Coding 的特点快速原型 强调“能跑起来就行”,优先验证想法,而非写出完美代码。协作驱动 通过 Pair Programming、团队即兴讨论完成代码输出。工具依赖 依赖自动化与生成工具(如 AI 助手、模板、代码片段库)。学习曲线低 初...
Vibe Coding ...
点赞
评论
收藏
分享
04-01 13:51
重庆三峡学院 Java
唉没招了,大厂全是这种吗,双飞真没机会呀!!!
牛客62533758...:
华为不卡双非,而是卡院校hhhh
点赞
评论
收藏
分享
03-30 18:59
广州大学 前端工程师
双非前端字节一面面经(难度 plus ultra 版)
真是一场苦战,索性该答的都答了个七七八八加粗的是没答上来的Reconciler 如何遍历 fiber 树(先序遍历)为什么要这么设计(这我上哪知道了)DOM 树和 fiber 树的区别diff 算法是怎么比较新旧两个树的(还没学到 diff 算法呢)浏览器从拿到渲染树以后都经过了哪些阶段(布局→分层→分块→光栅化→直接显示(其实是合成))为什么光栅化要由 GPU 去做(GPU 擅长光栅化的操作)为什么会这样呢(疯了吧问这个)Webpack 和 Vite 有什么区别Vite 打包用的什么(我想也是 ESM 吧)ESM 和 CJS 区别(提到同步导入和异步导入)微任务队列和宏任务队列都是什么任务循...
查看20道真题和解析
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
春招面了四十多场,焚绝在此
2.7W
2
...
AIcoding上线了!你确定不来刷刷?
1.7W
3
...
双非春秋招3月总结与收获
4511
4
...
4.2字节后端一面
3896
5
...
美团暑期二面,横向挂
3429
6
...
恒生电子笔试已燃尽
3262
7
...
面试连挂3家后,我终于学会了"不会"的正确说法
2684
8
...
26年最值得冲的产品项目是什么?一个过来人的大实话
2601
9
...
恒生电子笔试
2395
10
...
银行老学长带来点春招信息差
2395
创作者周榜
更多
正在热议
更多
#
面试被问到不会的问题,你怎么应对?
#
21191次浏览
522人参与
#
学历VS实习,哪个更重要?
#
856次浏览
31人参与
#
招商银行数字金融训练营
#
106151次浏览
916人参与
#
你见过哪些招聘隐形歧视?
#
21766次浏览
186人参与
#
设计人的面试记录
#
205006次浏览
1630人参与
#
你觉得大几开始实习最合适?
#
24621次浏览
245人参与
#
厦门银行科技岗值不值得投
#
15262次浏览
352人参与
#
uu们,春招你还来吗?
#
59784次浏览
640人参与
#
面试中,你被问过哪些奇葩问题?
#
94666次浏览
1178人参与
#
哔哩哔哩笔试
#
34709次浏览
140人参与
#
影石Insta360求职进展汇总
#
183987次浏览
1377人参与
#
国企/银行/研究所公司爆料
#
203379次浏览
913人参与
#
你都用vibe coding做过什么?
#
18225次浏览
725人参与
#
供应链/物流校招攻略
#
12400次浏览
218人参与
#
虹软科技求职进展汇总
#
16623次浏览
138人参与
#
AI Coding实战技巧
#
13022次浏览
276人参与
#
机械人还在等华为开奖吗?
#
325189次浏览
1599人参与
#
做完笔试后你收到面试了吗?
#
23930次浏览
210人参与
#
恒生电子笔试
#
19935次浏览
156人参与
#
你现在一天AI几次?
#
11081次浏览
118人参与
#
Vibe Coding 会干掉初级岗位吗?
#
19972次浏览
211人参与
#
如果人生可以debug你会改哪一行?
#
9705次浏览
140人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务