Search⌘ K

Angle Between the Hands of a Clock

Explore how to calculate the smallest angle between the hour and minute hands of a clock. Learn to apply formulas for both hands considering their movements and implement an O(1) time and space solution in Elixir. This lesson helps you understand clock angle problems commonly asked in coding interviews.

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

Elixir
defmodule Solution do
def clock_angle(_hour, _minutes) do
# Write your code here
-1
end
end

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 . . 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 minutes_angle = minutes X 6°. ...