Merge pull request #779 from Jerry-306/patch-14

补充 0202 快乐数  JavaScript版本使用Set() 的解法
This commit is contained in:
程序员Carl
2021-09-26 09:46:46 +08:00
committed by GitHub

View File

@ -191,6 +191,30 @@ var isHappy = function(n) {
} }
return b === 1 || getN(b) === 1 ; return b === 1 || getN(b) === 1 ;
}; };
// 方法三使用Set()更简洁
/**
* @param {number} n
* @return {boolean}
*/
var getSum = function (n) {
let sum = 0;
while (n) {
sum += (n % 10) ** 2;
n = Math.floor(n/10);
}
return sum;
}
var isHappy = function(n) {
let set = new Set(); // Set() 里的数是惟一的
// 如果在循环中某个值重复出现,说明此时陷入死循环,也就说明这个值不是快乐数
while (n !== 1 && !set.has(n)) {
set.add(n);
n = getSum(n);
}
return n === 1;
};
``` ```
Swift Swift