202. Happy Number

Write an algorithm to determine if a number n is happy.

happy number is a number defined by the following process:

Return true if n is a happy number, and false if not.

Example 1:

Input: n = 19
Output: true
Explanation:
12 + 92 = 82
82 + 22 = 68
62 + 82 = 100
12 + 02 + 02 = 1

Example 2:

Input: n = 2
Output: false

def isHappy(self, n: int) -> bool:
	cycles = set()
	while(True):
		res = 0 # store the sum of squares
		if n in cycles:
			return False
		# to detect any cycles -> add resulting numbers here. if detect cycle return False
		cycles.add(n)
		# get sum of digits 
		while n > 0:
			digit = (n % 10)
			res += (n % 10) ** 2
			n -= digit
			n /= 10
		
		if res == 1:
			return True
		n = res