LeetCode:Happy Number
来源:互联网 发布:linux expect 编辑:程序博客网 时间:2024/05/19 10:14
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
Credits:
Special thanks to @mithmatt and @ts for adding this problem and creating all test cases.
Subscribe to see which companies asked this question
思路:
1.使用map(map<int,int> mapint),将n置为1(mapint[n]=1);
2.计算各数的平方和t,将t置1(mapint[t]=1);n=t;
3.当1==n时,true;
4.当map中出现重复数时,false
code:
class Solution {public: bool isHappy(int n) { map<int,int> mapint; while(n!=1) { if(mapint[n]) return false; mapint[n]=1; int t=0; while(n) { t += (n%10)*(n%10); n /= 10; } n=t; } return true; }};
- [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
- [LeetCode]Happy Number
- leetcode 202: Happy Number
- leetcode Happy Number
- [LeetCode 202]Happy Number
- LeetCode (24) Happy Number
- LeetCode Happy Number 题解
- [LeetCode] Happy Number
- leetcode 202 Happy Number
- LeetCode Happy Number
- iOS 多线程编程技术--NSThread、Cocoa NSOperation、GCD
- GDAL源码剖析(一)
- Android四大组件之一Activity及其生命周期
- Maven编译报错 Unknown lifecycle phase "mvn" 解决办法
- Day 8(11.15):存储过程实训
- LeetCode:Happy Number
- Android开发 设计模式 (三、Abstract Factory(抽象工厂模式))
- Android屏幕设置
- XMC4200的片内FLASH的使用。
- Sort List
- 判断N!中二进制中最低位1的位置
- JDK Tomcat Maven 版本匹配问题
- 函数 C++ 找数组a中出现次数最多的值
- mysql 分区概念测试