补充 0202 快乐数 JavaScript版本使用Set() 的解法

This commit is contained in:
Jerry-306
2021-09-25 09:27:29 +08:00
committed by GitHub
parent 0f0bb6e741
commit 59eff2e01b

View File

@ -191,6 +191,30 @@ var isHappy = function(n) {
}
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