class Solution {
public:bool isHappy(int n) {unordered_map<int,bool> m;while(n!=1){m[n]=true;int sum=0,a;while(n){a=n%10;sum+=a*a;n/=10;}n=sum;if(m[n]) return false;}return true;}
};

使用hash set

/**
使用一个hash set 或者hashmap来记录已经出现的数字,如果出现的数是出现过的(有循环)return false;如果最终返回1,break; return true;
**/class Solution {
public:bool isHappy(int n) {unordered_set<int> s;while(n!=1){s.insert(n);int tmp=0;while(n!=0){int k=n%10;tmp+=k*k;n=n/10;}n=tmp;if(s.count(n)) return false;}return true;}
};/**
使用一个hash set 或者hashmap来记录已经出现的数字,如果出现的数是出现过的(有循环)return false;如果最终返回1,break; return true;
**/class Solution {
public:bool isHappy(int n) {unordered_set<int> s;while(n!=1){s.insert(n);int tmp=0;while(n!=0){int k=n%10;tmp+=k*k;n=n/10;}n=tmp;if(s.count(n)) return false;}return true;}
};

转载于:https://www.cnblogs.com/joelwang/p/10709212.html

leetcode 202 快乐数相关推荐

  1. LeetCode 202. 快乐数【哈希表】

    202. 快乐数 编写一个算法来判断一个数 n 是不是快乐数. 「快乐数」 定义为: 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和. 然后重复这个过程直到这个数变为 1,也可能是 无限 ...

  2. leetcode 202. 快乐数 思考分析(哈希集合与双指针解)

    1.题目 编写一个算法来判断一个数 n 是不是快乐数. 「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变 ...

  3. LeetCode 202. 快乐数(快慢指针)

    1. 题目 2. 解题 一个数经过若干次各位数平方和后,会等于它自己 使用类似环形链表的快慢指针法,最终快慢指针相遇,若不为1则是不快乐数 class Solution {public:int bit ...

  4. 2022-1-18 Leetcode 202.快乐数

    问题就在于如何判断无限循环? 我是要求最多循环20次 class Solution {public:bool isHappy(int n) {int sum = 0;int a = 0;int cou ...

  5. Leetcode 202. 快乐数 解题思路及C++实现

    解题思路: 用递归的方法,出现1,就返回true,这里用了 unordered_map 来记录是否会出现循环.(也可以用unordered_set) 通过计算余数和商,来得到每个位置数字的平方和.具体 ...

  6. 129. Leetcode 202. 快乐数 (哈希表)

    class Solution:def isHappy(self, n: int) -> bool:set_ = set()while 1:sum_ = self.getSum(n)if sum_ ...

  7. Leetcode 202.快乐数(哈希容器来检测是否出现重复)

    传送门:力扣 所学知识: 1.求和过程,去数值的单数操作,使用while(n)来操作.很强. int getSum(int n) {int sum = 0;while (n) {sum += (n % ...

  8. 算法训练Day6 | LeetCode:242. 有效的字母异位词(数组作哈希表);349. 两个数组的交集(Set作哈希表);202.快乐数 (Set作哈希表);1. 两数之和(Map作哈希表)

    目录 LeetCode242. 有效的字母异位词 方法:数组作哈希表 1. 思路 2. 代码实现 3. 复杂度分析 4. 思考 Leetcode349. 两个数组的交集 方法一:用Set作HashMa ...

  9. LeetCode Algorithm 202. 快乐数

    202. 快乐数 Ideas 快乐数的判断逻辑其实挺简单的,按照定义去循环执行就可以了. 关键是如果不是快乐数怎么结束循环. 我们猜测会有以下三种可能: 最终会得到 1 最终会进入循环 值会越来越大, ...

最新文章

  1. 如何区分网线是几类的_认清网线的六种材质,挑选网线不再被坑
  2. rhel6ACL权限
  3. 架构设计之设计模式 (二) 静态代理和动态代理--间接“美”
  4. torch view view_as
  5. 推进教育人工智能?网易云和网易波特 “四步走”
  6. 扩展Guava缓存溢出到磁盘
  7. [Redux/Mobx] Redux怎样设置初始状态?
  8. 【记录】Docker安装后出现 Cannot connect to the Docker daemon
  9. eclipse护眼颜色和字体大小设置
  10. lstm 变长序列_Pytorch 是如何处理变长序列的
  11. windows bat 批处理常用命令
  12. pageadmin CMS网站建设教程:模板中如何实现信息数据共享
  13. 华为路由器如何配置静态路由
  14. MariaDB数据存储引擎的选择
  15. IP地址在计算机的存储
  16. 静态文档,动态文档和活动文档
  17. hexo部署到云服务器
  18. 致敬第一个1024(第一次Java代码编程)
  19. 飞鸽传书——短信接口
  20. “功夫高考”之高考状元的七种武器

热门文章

  1. 9.LeetCode第350题---两个数组的交集2
  2. 四十一、文件的物理结构(上)
  3. 人群计数--Mixture of Counting CNNs
  4. Linux 常用小技巧
  5. cityhash 算法的使用
  6. sqlite java excel,Android将Excel表数据导入SQLite数据库
  7. mysql时间戳group by操作,mysql使用FROM_UNIXTIME将时间戳按日期group by
  8. java用画线写字_用Java画线
  9. SpringBatch学习一个Demo项目
  10. docker部署mysql5-7-31