(LeetCode 202) Happy Number
来源:互联网 发布:avast淘宝激活 编辑:程序博客网 时间:2024/05/16 23:49
Q:
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
题意大概是,给你一个整数,将它替换为他各个位的平方和,如此重复,如果她能够最后变成1.那么他就是Happy Number。否则他就会无限循环下去。
solution:
判断它是Happy Number相信大家都会,可是怎么判定它不是Happy Number呢?
我想了半天,后来发现题目里面已经给了提示,因为他最终会无限循环,就是说最后会有重复的数出现。这里我也学会使用unordered_map了。
class Solution {public: bool isHappy(int n) { unordered_map<int,bool>check; check[n]=true; while(n!=1){ n = decomposite(n); if(check[n]==true)return false; check[n]=true; } return true; } int decomposite(int n){ int res=0; while(n){ int m=n%10; n/=10; res += m*m; } return res; }};
Reference Link:
http://www.cnblogs.com/ganganloveu/p/4469917.html
- LeetCode 202 Happy Number
- LeetCode 202-Happy Number
- leetcode-202 Happy Number
- leetcode 202: Happy Number
- [LeetCode 202]Happy Number
- leetcode 202 Happy Number
- leetCode #202 Happy number
- LeetCode 202 : Happy Number
- LeetCode 202:Happy Number
- Happy Number - LeetCode 202
- Leetcode[202]-Happy Number
- LeetCode---(202)Happy Number
- Leetcode 202 Happy Number
- leetcode-202 Happy Number
- leetcode 202:Happy number
- leetcode[202]:Happy Number
- leetcode-202-Happy Number
- LeetCode #202 Happy Number
- TCP/IP, WebSocket 和 MQTT
- 路由器工作原理
- VGScene(firemonkey前身)布局设置
- CDH5.7快速离线安装教程
- Http协议
- (LeetCode 202) Happy Number
- 44.leetcode题目:268. Missing Number(位操作没想到)
- enabled_shared_from_this
- Linux 2.6 网络下半部
- Eclipse或MyEclipse修改生成类注释模板
- (MFC)CFont部分字体无法使用的问题
- 搭建Hadoop分布式
- struts-tags标签特殊用法
- Bestcoder #80 题解 (待补)