LeetCode-in-Java

1344. Angle Between Hands of a Clock

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:

Solution

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;
    }
}