[LeetCode] 202. Happy Number

寻找快乐数字。快乐数字的定义是如果每一位上的数字的平方相加最后能成为1,那么这个数字就是快乐数字。

思路就是按照其规则做运算,如果最后是false,中间一定是有死循环,此处可以用hashset记录出现过的和。如果最后能算成1,就是true。

 1 /**
 2  * @param {number} n
 3  * @return {boolean}
 4  */
 5 var isHappy = function(n) {
 6     var seen = [];
 7     while (true) {
 8         seen.push(n);
 9         var s = n.toString();
10         n = 0;
11         for (var i = 0; i < s.length; i++) {
12             n += Math.pow(parseInt(s[i]), 2);
13         }
14         if (n === 1) return true;
15         if (seen.includes(n)) return false;
16     }
17 };

猜你喜欢

转载自www.cnblogs.com/aaronliu1991/p/11670561.html