Skip to content

1344. Angle Between Hands of a Clock

Description

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

 

Solutions

Solution: Math

  • Time complexity: O(1)
  • Space complexity: O(1)

 

JavaScript

js
/**
 * @param {number} hour
 * @param {number} minutes
 * @return {number}
 */
const angleClock = function (hour, minutes) {
  const HOUR_ANGLE = 360 / 12;
  const hourAngle = (hour % 12) * HOUR_ANGLE + (minutes / 60) * HOUR_ANGLE;
  const minutesAngle = (minutes / 5) * HOUR_ANGLE;
  const diffAngle = Math.abs(hourAngle - minutesAngle);

  return Math.min(diffAngle, 360 - diffAngle);
};

Released under the MIT license