寻找快乐数字。快乐数字的定义是如果每一位上的数字的平方相加最后能成为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 };