欢迎访问陕西省交通建设集团公司网站长春网站优化流程
欢迎访问陕西省交通建设集团公司网站,长春网站优化流程,做网站上怎么推广呢,广东网站建设科技目录
1. 题目解析
2. 算法原理
3. 代码编写
写在最后#xff1a; 1. 题目解析
题目链接#xff1a;202. 快乐数 - 力扣#xff08;Leetcode#xff09; 这道题的题目也很容易理解#xff0c;
看一下题目给的示例就能很容易明白#xff0c;
但是要注意一个点#…目录
1. 题目解析
2. 算法原理
3. 代码编写
写在最后 1. 题目解析
题目链接202. 快乐数 - 力扣Leetcode 这道题的题目也很容易理解
看一下题目给的示例就能很容易明白
但是要注意一个点最后有可能无限循环无法到达1。
这个时候我们就要想一下怎么判断他是无线循环呢
实际上当他在进行平方和的计算中同一个数字再次出现的时候
就证明他进入无限循环了来看个例子 如果我们计算 2 是不是快乐数当再次出现 4 这个数的时候
我们就可以知道他进入无限循环了。
2. 算法原理
我们可以想象一下
题目给出的两种情况其实都是一个循环
如果是快乐数就会一直循环得到1
如果不是快乐数就会按照自己的节奏循环永远到不了1
这个时候吗我们就可以用快慢指针的思想来做这道题
让一个指针走两步一个指针走一步当两个指针相遇的时候
他们肯定已经开始循环了如果相遇的时候
值为1就是快乐数如果值不为1就证明不是快乐数。
3. 代码编写
class Solution {
public:bool isHappy(int n) {int fast n, slow n;while(true) {slow Sum(slow);fast Sum(Sum(fast));if(fast slow) break;}return fast 1;}
private:int Sum(int n) {int sum 0;while(n) {int tmp n % 10;sum tmp * tmp;n / 10;}return sum;}
};
写在最后
以上就是本篇文章的内容了感谢你的阅读。
如果感到有所收获的话可以给博主点一个赞哦。
如果文章内容有遗漏或者错误的地方欢迎私信博主或者在评论区指出~
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/85748.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!