LeetCode——Happy Number
来源:互联网 发布:法国 知乎 编辑:程序博客网 时间:2024/05/20 16:11
题目:
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 number
12 + 92 = 82
82 + 22 = 68
62 + 82 = 100
12 + 02 + 02 = 1
解答:
class Solution {public: bool isHappy(int n) { if (n <= 0) { return false; } set<int> numSet; const int kMaxDigitNum = 11; const int kUnInitValue = -1; vector<int> digits(kMaxDigitNum, kUnInitValue); int cur = n; while(numSet.find(cur) == numSet.end()) { numSet.insert(cur); int i = 0; while (cur > 0) { int digit = cur % 10; if (digit) { digits[i++] = digit; } cur /= 10; } if (digits[0] == 1 && digits[1] == kUnInitValue) { return true; } int j = 0; while (digits[j] != kUnInitValue) { cur += digits[j] * digits[j]; ++j; } for (int k = 0; k != kMaxDigitNum; ++k) { digits[k] = kUnInitValue; } } return false; }};
0 0
- Happy Number —— Leetcode
- LeetCode——Happy Number
- Leetcode 记录——Happy Number
- LeetCode题解——Happy Number
- Leetcode——202. Happy Number
- Leetcode Problem.202—Happy Number
- LeetCode202—Happy Number
- leetcode——202——Happy Number
- leetcode刷题日记——Happy Number
- [leetcode] Happy Number
- leetcode: Happy Number
- [LeetCode] Happy Number
- [LeetCode]Happy Number
- LeetCode 202 Happy Number
- LeetCode OJ Happy Number
- [LeetCode]202.Happy Number
- LeetCode 202-Happy Number
- leetcode-202 Happy Number
- 数据结构(三)---队列:
- Set Matrix Zeroes
- 6.12
- 如何阅读他人的程序代码
- 树莓派共享文件至pc(samba)
- LeetCode——Happy Number
- [leetcode] Binary Tree Inorder Traversal
- 2015061205 - 找工作相关问题
- java中对象句柄的解释
- 基于MINA框架快速开发网络应用程序
- 主从复制,读写分离
- 完全教程 Aircrack-ng破解WEP、WPA-PSK加密利器
- 2015互联网校招总结—一路走来
- windows和linux中换行符的转换