Сложность: medium
Даны два числа, hour и minutes. Вернуть меньший угол (в градусах), образованный часовой и минутной стрелками.
Ответы с точностью до 10^-5 от фактического значения будут считаться правильными.
Пример:
Input: hour = 12, minutes = 30
Output: 165
👨💻 Алгоритм:
1⃣Рассчитать углы: minutes_angle = 6 * minutes и hour_angle = (hour % 12 + minutes / 60) * 30.
2⃣Найти разницу: diff = abs(hour_angle - minutes_angle).
3⃣Вернуть меньший угол: min(diff, 360 - diff).
😎 Решение:
class Solution {
public function angleClock($hour, $minutes) {
$oneMinAngle = 6;
$oneHourAngle = 30;
$minutesAngle = $oneMinAngle * $minutes;
$hourAngle = ($hour % 12 + $minutes / 60) * $oneHourAngle;
$diff = abs($hourAngle - $minutesAngle);
return min($diff, 360 - $diff);
}
}Ставь 👍 и забирай 📚 Базу знаний