LeetCode 1344. 时钟指针的夹角
题目描述
思路分析
解法一:角度计算(推荐)
核心思路:
- 分钟指针角度为
6 * minutes。- 时针角度为
30 * (hour % 12) + 0.5 * minutes。- 取两角差的最小值
min(diff, 360 - diff)。
复杂度分析:
- 时间复杂度:O(1)。
- 空间复杂度:O(1)。
class Solution {
public double angleClock(int hour, int minutes) {
double minuteAngle = 6.0 * minutes;
double hourAngle = 30.0 * (hour % 12) + 0.5 * minutes;
double diff = Math.abs(hourAngle - minuteAngle);
return Math.min(diff, 360.0 - diff);
}
}
import "math"
func angleClock(hour int, minutes int) float64 {
minuteAngle := 6.0 * float64(minutes)
hourAngle := 30.0*float64(hour%12) + 0.5*float64(minutes)
diff := math.Abs(hourAngle - minuteAngle)
if diff > 360.0-diff {
return 360.0 - diff
}
return diff
}
相似题目
| 题目 | 难度 | 考察点 |
|---|---|---|
| 258. 各位相加 | 简单 | 数学 |
| 492. 构造矩形 | 简单 | 数学 |
| 728. 自除数 | 简单 | 数学 |
| 812. 最大三角形面积 | 简单 | 几何 |
| 1232. 缀点成线 | 简单 | 几何 |
本博客所有文章除特别声明外,均采用
CC BY-NC-SA 4.0
许可协议,转载请注明出处!