Angle Between Hands of a Clock
LeetCode 1446 | Difficulty: Mediumβ
MediumProblem 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`
Topics: Math
Approachβ
Mathematicalβ
Look for mathematical patterns or formulas. Consider: modular arithmetic, GCD/LCM, prime factorization, combinatorics, or geometric properties.
When to use
Problems with clear mathematical structure, counting, number properties.
Solutionsβ
Solution 1: C# (Best: 47 ms)β
| Metric | Value |
|---|---|
| Runtime | 47 ms |
| Memory | 25.5 MB |
| Date | 2022-01-17 |
Solution
public class Solution {
public double AngleClock(int hour, int minutes) {
hour = (hour==12) ? 0 : hour;
double hourAngle = hour*30 + (minutes*0.5);
double minutesAngle = minutes * 6;
double result = Math.Abs(hourAngle-minutesAngle);
return Math.Min(result, 360.0-result);
}
}
Complexity Analysisβ
| Approach | Time | Space |
|---|---|---|
| Solution | $O(n)$ | $O(1) to O(n)$ |
Interview Tipsβ
Key Points
- Discuss the brute force approach first, then optimize. Explain your thought process.
- LeetCode provides 2 hint(s) for this problem β try solving without them first.
π‘ Hints
Hint 1: The tricky part is determining how the minute hand affects the position of the hour hand.
Hint 2: Calculate the angles separately then find the difference.