哈希-快乐数
解决这个问题的关键在于,判断结束遍历的条件,即当n!=1 或者 在循环过程中,没有出现过重复的数。
class Solution: def isHappy(self, n: int) -> bool: def get_score(n): sum_ = 0 while n > 0: end_ = n % 10 sum_ += end_ ** 2 n = n // 10 return sum_ data_set = set() while n != 1 and n not in data_set: data_set.add(n) n = get_score(n) return n == 1
使用get_score 来计算循环,使用: n不等于1 和 n 不在循环集合中作为终止的条件。