Problem
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 <= 120 <= minutes <= 59
Solution (Java)
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;
}
}
Explain:
nope.
Complexity:
- Time complexity : O(n).
- Space complexity : O(n).