LeetCode 1344. Angle Between Hands of a Clock

题目

Given two numbers, hour and minutes. Return the smaller angle (in degrees) formed between the hour and the minute hand.

Example 1:

1
2
Input: hour = 12, minutes = 30
Output: 165

Example 2:

1
2
Input: hour = 3, minutes = 30
Output: 75

Example 3:

1
2
Input: hour = 3, minutes = 15
Output: 7.5

Example 4:

1
2
Input: hour = 4, minutes = 50
Output: 155

Example 5:

1
2
Input: hour = 12, minutes = 0
Output: 0

Constraints:

  • 1 <= hour <= 12
  • 0 <= minutes <= 59
  • Answers within 10^-5 of the actual value will be accepted as correct.

思路

Math.

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
class Solution(object):
def angleClock(self, hour, minutes):
"""
:type hour: int
:type minutes: int
:rtype: float
"""
perMinute = 6
perHour = 30
minute_angle = perMinute * minutes
hour_angle = (hour % 12 + float(minutes) / 60) * perHour
res = abs(hour_angle - minute_angle)
return min(res, 360-res)