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.

Difficulty: MEDIUM_HARD
Starter code: class Solution:
    def angleClock(self, hour: int, minutes: int) -> float:
        

Solutions:
class Solution:

	def angleClock(self, hour: int, minutes: int) -> float:
		hour_angle = hour * 30 + minutes / 12 * 6
		if hour_angle > 360:
			hour_angle -= 360
		min_angle = minutes / 5 * 30
		if min_angle > 360:
			min_angle -= 360
		diff = abs(hour_angle - min_angle)
		return diff if diff <= 360 - diff else 360 - diff


class Solution:

	def angleClock(self, hour: int, minutes: int) -> float:
		minutes_num = minutes / 5
		hour += minutes / 60
		angle = abs(hour - minutes_num) * 30
		return min(360 - angle, angle)


class Solution:

	def angleClock(self, hour: int, minutes: int) -> float:
		hour = hour if hour < 12 else hour - 12
		minute_angle = float(minutes) / 60.0 * 360.0
		hour_angle = 30.0 * hour + minutes / 60 * 360.0 / 12.0
		return abs(minute_angle - hour_angle) if abs(minute_angle - hour_angle) < 180.0 else 360.0 - abs(minute_angle - hour_angle)


class Solution:

	def angleClock(self, hour: int, minutes: int) -> float:
		angle_per_min = 360 / 60
		angle_per_5_min = 5 * angle_per_min
		h = hour % 12 + minutes / 60
		hr_angle = h * angle_per_5_min
		min_angle = minutes * angle_per_min
		r = abs(hr_angle - min_angle)
		return min(360 - r, r)


class Solution:

	def angleClock(self, hour: int, minutes: int) -> float:
		hr = (hour + float(minutes / 60)) * 30
		mi = minutes * 6
		ang = abs(hr - mi)
		return min(360.0 - ang, ang)


class Solution:

	def angleClock(self, hour: int, minutes: int) -> float:
		minute_angle = 360 / 60 * minutes
		hour_angle = hour % 12 * (360 / 12) + minutes / 60 * (360 / 12)
		return min(abs(hour_angle - minute_angle), 360 - abs(hour_angle - minute_angle))


class Solution:

	def angleClock(self, hour: int, minutes: int) -> float:
		if hour <= 6:
			originaldiff = hour * 30 * -1
		else:
			originaldiff = (12 - hour) * 30
		print(originaldiff)
		mintravelled = 5.5 * minutes
		return min(abs(mintravelled + originaldiff), abs(mintravelled + originaldiff - 360))


class Solution:

	def angleClock(self, hour: int, minutes: int) -> float:
		hour_angle = hour % 12 / 12 * 360 + minutes / 60 * 30
		min_angle = minutes / 60 * 360
		target = abs(hour_angle - min_angle)
		if target > 180:
			target = 360 - target
		return target