当前位置: 首页 > news >正文

leetcode 202 快乐数

leetcode 202 快乐数

  • 题目
  • 题解
  • 代码

题目

编写一个算法来判断一个数 n 是不是快乐数。

「快乐数」 定义为:

对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。
然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。
如果这个过程 结果为 1,那么这个数就是快乐数。
如果 n 是 快乐数 就返回 true ;不是,则返回 false 。
在这里插入图片描述

题解

这题目是简单题,本身主要有两个点可以总结:
(1)循环的判断,可以采用hash表的方法,当结果出现过同时不为1的时候说明已经循环了,return false
(2)这里受某位大佬的思路指导,在本题中并没有限制空间,但是如果这个循环非常大的时候就会出现oom的情况。参考快慢指针解链表循环,其实快慢指针可以应用于所有的循环判断,用O(1)的空间复杂度实现对循环的判断。
见代码:

代码

class Solution {
public:int get_num_pingfang(int n){int sum_ = 0;while(n){sum_ += (n%10)*(n%10);n = n/10;}return sum_;}bool isHappy(int n) {int slow=n, fast=n;do{slow = get_num_pingfang(slow);fast = get_num_pingfang(fast);fast = get_num_pingfang(fast);}while(slow!=fast);return slow==1;}
};

相关文章:

  • AcWing 3555:二叉树(北京大学考研机试题)→公共父结点
  • PRCD-1229 : An attempt to access configuration of database
  • String转Date,Date转String
  • Python 潮流周刊#29:Rust 会比 Python 慢?!
  • 腾讯云双十二优惠活动有哪些?详细攻略来了!
  • Docker 安装部署 Sentinel Dashboard
  • enable_shared_from_this使用介绍
  • 【征稿倒计时十天,ACM独立出版,有确定的ISBN号,ei检索稳且快】
  • 时间序列数据压缩算法简述
  • SocialSelling社交销售1+5+1方法论系列:社交销售价值何在
  • 新手村之SQL——函数多表联结
  • 阿里云效一键部署前后端
  • 第十五届蓝桥杯模拟赛(第二期 C++)
  • 好用的挂耳式蓝牙耳机有哪些?分享几款热门好用的蓝牙耳机
  • C++-模板
  • 【刷算法】从上往下打印二叉树
  • Android 控件背景颜色处理
  • Babel配置的不完全指南
  • Docker入门(二) - Dockerfile
  • emacs初体验
  • ES2017异步函数现已正式可用
  • Git学习与使用心得(1)—— 初始化
  • Java比较器对数组,集合排序
  • PAT A1017 优先队列
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • Redis字符串类型内部编码剖析
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • 订阅Forge Viewer所有的事件
  • 浮动相关
  • 浮现式设计
  • 记一次删除Git记录中的大文件的过程
  • 人脸识别最新开发经验demo
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 树莓派 - 使用须知
  • 数据科学 第 3 章 11 字符串处理
  • 小程序button引导用户授权
  • 进程与线程(三)——进程/线程间通信
  • #{} 和 ${}区别
  • #QT(串口助手-界面)
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • (14)Hive调优——合并小文件
  • (3)llvm ir转换过程
  • (C语言)共用体union的用法举例
  • (pojstep1.1.1)poj 1298(直叙式模拟)
  • (pojstep1.1.2)2654(直叙式模拟)
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (十) 初识 Docker file
  • (四)docker:为mysql和java jar运行环境创建同一网络,容器互联
  • (图)IntelliTrace Tools 跟踪云端程序
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)
  • (转)EXC_BREAKPOINT僵尸错误
  • (转)重识new
  • *(长期更新)软考网络工程师学习笔记——Section 22 无线局域网
  • .net对接阿里云CSB服务
  • .NET框架类在ASP.NET中的使用(2) ——QA