leedcode 每日一题 202. Happy Number
来源:互联网 发布:内网管控软件 编辑:程序博客网 时间:2024/05/20 07:59
差点想要用递归去做···还好臭臭告诉我了···
题目的意思是,19的每一位平方加和之后,再继续,最后如果得到1,则是happy数。
在做这道题之前有个误区,就是觉得,怎么判断这个数不是happy数呢?如果不是,它一定是个循环,但是循环其实是有一个开始的,
比如4,它一直在循环,但是并不一定返回4,而之前我认为需要返回4才可以判断false。
事后证明需要比较过程中出现的每个数是否出现过两次。于是用到了set
unordered_set<int> mySet;
mySet.insert(n);
if(mySet.count(n)>0) return false;
主要用到这三句
//count(value)返回set对象内元素值为value的元素个数
class Solution {public: bool isHappy(int n) { unordered_set<int> mySet; while(true){ if(n==1) return true; if(mySet.count(n)>0) return false; mySet.insert(n); //insert在判断count之后,因为一开始插入之后,会影响count结果 n=addnum(n); } } int addnum(int n){ int tmp; int cnt=0; while(n!=0){ tmp=n%10; cnt+=tmp*tmp; n=n/10; } return cnt; }};
0 0
- leedcode 每日一题 202. Happy Number
- [LeedCode OJ]#202 Happy Number
- 202. Happy Number
- [LeetCode]202.Happy Number
- 【LeetCode】202.happy number
- LeetCode 202. Happy Number
- [leetcode] 202.Happy Number
- 【leetcode】202. Happy Number
- 202.Happy Number
- [leetcode] 202. Happy Number
- 202. Happy Number LeetCode
- 202. Happy Number
- leetCode 202. Happy Number
- 202. Happy Number
- 202. Happy Number
- 202. Happy Number
- [LeetCode]202. Happy Number
- leetcode 202. Happy Number
- 家长的疏忽,影响孩子的牙齿健康
- linux命令:less 命令
- 【Android】工作线程意图修改主线程中的布局
- PIL安装步骤,已经整理好了对应版本的类库
- 手工配置tnsnames.ora的空格问题
- leedcode 每日一题 202. Happy Number
- 解决[INSTALL_FAILED_UID_CHANGED]无法安装包问题
- 每天一个linux命令,地址
- ASM是怎样访问及修改编译了的class文件
- 在php编程中使用header()函数发送文件头,设置浏览器缓存,加快站点的访问速度
- 用Caffe提取深度特征
- varnishd中文man page(1)
- 【数据库】Oracle利用列名获得表名
- 睡眠不好,肝病烦恼