新闻详情

新闻详情

首页 / 资讯中心 / 详情

A.每日一题:1344. 时钟指针的夹角

发布时间:2026/9/2 3:22:25来源:尧图网络
A.每日一题:1344. 时钟指针的夹角
题目链接1344. 时钟指针的夹角中等算法原理我们简单找找规律~~差值为6:180°差值为9:90°类似的差值为11:30°差值为10:60°差值为8:120°度数(12-差值)✖️30°左半边相反差值✖️30°有的同学就直接写成了⬇️class Solution { //1344. 时钟指针的夹角 public double angleClock(int hour, int minutes) { //差值为6:180° //差值为9:90° //类似的 //差值为11:30° //差值为10:60° //差值为8:120° //度数(12-差值)✖️30° //左半边相反差值✖️30° double numminutes/5.0; double dhour-num; if(hour6) return (12-d)*30%180; return d*30%180; } }但结果⬇️关键易错点复盘易错点 1时针位置忽略分钟带来的偏移最核心高频错误错误表现直接用整点小时数计算时针位置比如 3:30 默认时针在数字 3 处最终结果偏差固定数值如这里差了 15°本质原因对时钟运行逻辑的直觉错误 —— 时针不是整点才 “跳一格”分针转动时时针会同步匀速偏移量化规则时针每小时走 30°360°÷12对应每分钟走 0.5°30°÷60也可以理解为每过 1 分钟时针前进 1/60 个大刻度。修正方式时针角度 (hour % 12) × 30° minutes × 0.5易错点 2用 % 180 求最小夹角逻辑完全错误错误表现试图用角度对 180 取模直接得到较小角本质原因混淆了 “取模运算” 和 “取圆周短弧” 的逻辑。取模是求余数不是求 360° 圆周上的补角反例验证若两针角度差为 200°较小角应为 360°-200°160°但 200 % 180 20结果完全错误正确做法Math.min(差值, 360 - 差值)永远取两个夹角中更小的那个易错点 3臆造 “分情况、分左右” 的夹角规律错误表现比如你代码里的 if(hour6) 分支从少量特例总结出 “差值反向” 的规律试图分情况计算。本质原因用直觉代替数学推导分情况逻辑极易遗漏边界场景比如分针在时针左侧 / 右侧、跨 12 点位置等代码越写越乱还容易错。正确做法统一计算两针的绝对角度 → 求绝对差值 → 取最小角。全程无需分支判断逻辑简洁且无遗漏。易错点 4小时数未对 12 取模错误表现直接用 hour * 30 计算遇到 12 点、超过 12 点的数值时逻辑异常。本质原因时钟是 12 小时循环12 点的时针位置等价于 0 点而非 12×30360° 的位置。修正方式计算时针角度前先做 hour % 12把小时映射到 0~11 的刻度区间。易错点 5整数除法导致精度截断错误表现比如写 minutes / 5 而非 minutes / 5.0Java 中整数相除会直接舍弃小数部分。反例验证minutes7 时7/51整数除法但实际分针位置是 1.4 个刻度误差会被放大修正方式涉及刻度、角度计算时强制使用浮点数运算除数写为 5.0、60.0 等易错点 6分针 / 时针转速公式记错错误表现混淆指针转速比如误以为分针每分钟走 1°、每大刻度对应 6 分钟等核心公式必须记牢分针每分钟走 6°360° ÷ 60 分钟时针每小时走 30°360° ÷ 12 小时每分钟走 0.5°解法一刻度法0ms击败100.00%时间复杂度O(1)1️⃣分针所在的刻度位置每5分钟1个大刻度2️⃣时针所在的刻度位置整点刻度 分钟带来的偏移3️⃣刻度差的绝对值4️⃣每个刻度对应 30 度5️⃣取较小夹角解法二角度法0ms击败100.00%时间复杂度O(1)1️⃣计算分针角度每分钟走 6 度 (360/60)2️⃣计算时针角度整点走 30 度/小时 分钟偏移 0.5 度/分钟3️⃣求两针角度差的绝对值4️⃣返回较小的夹角圆周 360 度取小的那段弧Java代码class Solution { //1344. 时钟指针的夹角 //解法一刻度法 public double angleClock(int hour, int minutes) { // 分针所在的刻度位置每5分钟1个大刻度 double minuteMark minutes / 5.0; // 时针所在的刻度位置整点刻度 分钟带来的偏移 double hourMark (hour % 12) minutes / 60.0; // 刻度差的绝对值 double diffMark Math.abs(hourMark - minuteMark); // 每个刻度对应 30 度 double angle diffMark * 30; // 取较小夹角 return Math.min(angle, 360 - angle); } }class Solution { //1344. 时钟指针的夹角 //解法二角度法 public double angleClock(int hour, int minutes) { // 1. 计算分针角度每分钟走 6 度 (360/60) double minuteAngle minutes * 6.0; // 2. 计算时针角度整点走 30 度/小时 分钟偏移 0.5 度/分钟 // hour%12 处理 12 点等价于 0 点的情况 double hourAngle (hour % 12) * 30.0 minutes * 0.5; // 3. 求两针角度差的绝对值 double diff Math.abs(hourAngle - minuteAngle); // 4. 返回较小的夹角圆周 360 度取小的那段弧 return Math.min(diff, 360 - diff); } }
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

国内首创!IKNA苛纳无线电控小连杆研发成功,智能电控重塑越野新体验 2026/9/2 3:20:50

国内首创!IKNA苛纳无线电控小连杆研发成功,智能电控重塑越野新体验

历经一年潜心攻坚研发,IKNA苛纳迎来重磅产品迭代!品牌全新ISM工业段无线电控小连杆正式研发落地,作为国内首家自主研发成功的无线电控小连杆产品,目前该技术已申请发明专利,填补了行业技术空白,为越野车辆底…

阅读更多 →
2026律所财务外包怎么选?北京天津靠谱机构对比推荐 2026/9/2 3:20:50

2026律所财务外包怎么选?北京天津靠谱机构对比推荐

律师行业的账,不是谁都能接的。案件代收代付、风险代理收入、合伙人分红、律师提成、执业责任险分摊——这些科目在通用代账公司的模板里根本不存在。选错财务外包,轻则账目混乱、年检被驳回,重则引发税务稽查风险。本文以北京、天津双城属地…

阅读更多 →
红外线加热管为何更省电?解析加热原理与节能改造关键点 2026/9/2 3:20:50

红外线加热管为何更省电?解析加热原理与节能改造关键点

很多做设备维护或自动化改造的朋友,一听到红外线加热管,第一反应往往是:这不就是取暖器里的“红管子”吗?功率一样,凭什么说它更省电?这个质疑其实很正常。电阻丝发热,电能转化成热能&#xff0…

阅读更多 →
QGIS插件FlyPath:基于GIS的无人机智能航线规划实战指南 2026/9/2 3:20:50

QGIS插件FlyPath:基于GIS的无人机智能航线规划实战指南

如果你正在用无人机做测绘、农业监测或三维建模,大概率遇到过这样的困扰:规划航线时,要么依赖大疆官方软件功能受限,要么得在不同工具间来回切换——计算覆盖面积、设置航向重叠、导出KML文件、再导入飞控软件……一套流程下来&am…

阅读更多 →
FRDM-KEXX驱动库详解:从GPIO点灯到UART通信的Kinetis E开发 2026/9/2 3:20:50

FRDM-KEXX驱动库详解:从GPIO点灯到UART通信的Kinetis E开发

简介:FRDM-KEXX-Driver-Library-Package是为NXP(原飞思卡尔)KINETIS KEXX系列微控制器设计的驱动库压缩包,面向嵌入式开发者和相关专业学生,提供从HAL硬件抽象层到底层外设驱动、RTOS适配及库函数API的完整方案&#x…

阅读更多 →
客户端IOCP封装实战:完成端口与异步连接的工程实践 2026/9/2 3:17:50

客户端IOCP封装实战:完成端口与异步连接的工程实践

简介:面向 Windows 平台网络程序开发者的 IOCP 完成端口客户端实现包,针对高并发网络程序中异步 I/O 完成通知分散、线程阻塞等痛点,帮助开发者减少等待开销并提升吞吐能力。包内头文件 nettypes.h 提供网络地址结构体、错误码等基础类型定义…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞