Medium
Given two numbers, hour
and minutes
, return the smaller angle (in degrees) formed between the hour
and the minute
hand.
Answers within 10-5
of the actual value will be accepted as correct.
Example 1:
Input: hour = 12, minutes = 30
Output: 165
Example 2:
Input: hour = 3, minutes = 30
Output: 75
Example 3:
Input: hour = 3, minutes = 15
Output: 7.5
Constraints:
1 <= hour <= 12
0 <= minutes <= 59
class Solution {
fun angleClock(hour: Int, minutes: Int): Double {
val minAngle = minutes * 360.0 / 60
val hourAnglePart1: Double = if (hour != 12) hour * 360.0 / 12 else 0.0
val hourAnglePart2 = (30 * minutes).toDouble() / 60.0
val hourAngle = hourAnglePart1 + hourAnglePart2
val preResult = Math.abs(minAngle - hourAngle)
return if (preResult > 180) 360 - preResult else preResult
}
}