Skip to content

Latest commit

 

History

History
56 lines (47 loc) · 1.4 KB

File metadata and controls

56 lines (47 loc) · 1.4 KB

1344. Angle Between Hands of a Clock

Given two numbers, hour and minutes. Return the smaller angle (in degrees) formed between the hour and the minute hand.

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

Example 4:

Input: hour = 4, minutes = 50
Output: 155

Example 5:

Input: hour = 12, minutes = 0
Output: 0

Constraints:

  • 1 <= hour <= 12
  • 0 <= minutes <= 59
  • Answers within 10^-5 of the actual value will be accepted as correct.

Solutions (Rust)

1. Solution

impl Solution {
    pub fn angle_clock(hour: i32, minutes: i32) -> f64 {
        let m_angle = minutes as f64 * 6.;
        let h_angle = (hour % 12 * 60 + minutes) as f64 * 0.5;
        let min = m_angle.min(h_angle);
        let max = m_angle.max(h_angle);

        (max - min).min(360. - max + min)
    }
}