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
public class Solution {
public double angleClock(int hour, int minutes) {
double minAngle = minutes * 360.0 / 60;
double hourAnglePart1 = hour != 12 ? (hour * 360.0) / 12 : 0;
double hourAnglePart2 = (double) (30 * minutes) / (double) 60;
double hourAngle = hourAnglePart1 + hourAnglePart2;
double preResult = Math.abs(minAngle - (hourAngle));
return preResult > 180 ? 360 - preResult : preResult;
}
}