1. 题目

2. 解题

  • 一个数经过若干次各位数平方和后,会等于它自己
  • 使用类似环形链表的快慢指针法,最终快慢指针相遇,若不为1则是不快乐数
class Solution {public:int bitSquareSum(int n) {int sum = 0, bit;while(n > 0){bit = n % 10;sum += bit * bit;n = n / 10;}return sum;}bool isHappy(int n) {int slow = n, fast = n;do{slow = bitSquareSum(slow);fast = bitSquareSum(fast);fast = bitSquareSum(fast);}while(slow != fast);return slow == 1;}
};

LeetCode 202. 快乐数(快慢指针)相关推荐

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

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

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

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

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

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

  4. leetcode 202 快乐数

    class Solution { public:bool isHappy(int n) {unordered_map<int,bool> m;while(n!=1){m[n]=true;i ...

  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. python编程django项目django.template.exceptions.TemplateDoesNotExist: registration/login.html解决方法
  3. 1.2.2 OSI参考模型(应用层、表示层、会话层、传输层、网络层、数据链路层、物理层)
  4. 如何做到自动化运营--数据驱动
  5. 图片插值数据_结合PS用这招来增强ArcGIS插值图出图效果
  6. 小知识:常用开源协议详细解析
  7. leetcode117. 填充每个节点的下一个右侧节点指针 II(层序遍历08)
  8. Leetcode--31. 下一个排列
  9. throws与throw有什么关系?区别是什么?
  10. python简单小案例列表_python计算列表内各元素的个数实例
  11. oracle复杂的子查询,Oracle 子查询(复杂select语句)
  12. oracle自动创建分区存储过程,oracle 存储过程创建表分区
  13. 读书笔记_中国期货市场量化交易(李尉)03
  14. redis value最大值_Redis基础知识整理
  15. S3TC IAP15F2K61S2点亮一个发光二极管keil和stc-isp软件操作
  16. IEEE 1588 报文封装
  17. OFDM转向FBMC
  18. 拓客必备神器:采集工具让你的数据采集更快更准
  19. 打字练习。。又退步了
  20. Gartner发布5G网络基础设施魔力象限报告

热门文章

  1. float数据在计算机内存中的存储方法
  2. php表示私有变量的是,PHP 访问私有和受保护的成员变量
  3. php copy array,ES6中Array.copyWithin()函数用法的详解
  4. 第二季2:/package/mpp/sample的总体分析
  5. C语言那年踩过的坑--局部变量,静态变量,全局变量在内存中存放的位置
  6. apiCloud中的API对象
  7. SYSU每周一赛(13.03.16)1003
  8. 测试工具的选择和使用
  9. Lucene3.5自学4--建索引相关知识总结
  10. 安装“消息队列 (MSMQ)”