Angle Between the Hands of a Clock
Understand how to compute the smaller angle between the hour and minute hands of a clock given any time. Explore angle calculation using modular arithmetic and linear equations to derive efficient code. This lesson helps you implement a solution with O(1) time and space complexity, sharpening your problem-solving skills for coding interviews.
We'll cover the following...
Description
Given two numbers, hour and minutes we will return the smaller angle (in degrees) formed between the hour and the minute hands on a clock.
Let’s look at some examples to better understand this:
Coding exercise
Solution
The idea is to separately calculate the angles between the 0-minutes vertical line and each hand. The answer will be the difference that is found between the two angles.
Note: Black lines in the clock represent the 0-minutes vertical lines.
Minute hand angle
Let’s start from the minute hand. The minute hand moves with 1 min intervals. At 1 min, the angle of the minute hand is 6°. . Since the whole circle of the clock is equal to 360° degrees and 60 minutes, we estimated that the minute hand moves 1 min = 360° / 60 = 6° degree with each minute.
Now, we can easily find an angle between the 0-minutes vertical line and a minute hand, using minutesAngle = minutes X 6°. ...