Leetcode 202. Happy Number (Easy) (cpp)

来源:互联网 发布:华为网络机顶盒怎么样使用 编辑:程序博客网 时间:2024/06/07 18:16

Leetcode 202. Happy Number (Easy) (cpp)

Tag: Hash Table, Math

Difficulty: Easy


/*202. Happy Number (Easy)Write an algorithm to determine if a number is "happy".A happy number is a number defined by the following process: Starting with any positive integer, replace the number by the sum of the squares of its digits, and repeat the process until the number equals 1 (where it will stay), or it loops endlessly in a cycle which does not include 1. Those numbers for which this process ends in 1 are happy numbers.Example: 19 is a happy number1^2 + 9^2 = 828^2 + 2^2 = 686^2 + 8^2 = 1001^2 + 0^2 + 0^2 = 1*/class Solution {public:int cal(int n) {int temp = 0;while (n) {temp += pwo(n % 10, 2);n /= 10;}return temp;}bool isHappy(int n) {unordered_map<int, bool> mapping;int sum = cal(n);while(sum != 1) {if (mapping[sum]) {                return false;            } else {mapping[sum] = true;sum = cal(sum);}}return true;}};


0 0