[LeetCode #202] 快乐数

目录

题目描述:

解题思路:

解题代码:


题目描述:

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

「快乐数」 定义为:

  • 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。
  • 然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。
  • 如果这个过程 结果为 1,那么这个数就是快乐数。

如果 n 是 快乐数 就返回 true ;不是,则返回 false 。

示例 1:

输入:n = 19
输出:true
解释:
12 + 92 = 82
82 + 22 = 68
62 + 82 = 100
12 + 02 + 02 = 1

示例 2:

输入:n = 2
输出:false

提示:

  • 1 <= n <= 231 - 1

解题思路:

 根据快乐数的定义,或者鸽巢原理,在判断快乐数的时候,重复求平方和这个过程直到这个数变为 1(其实1也算是循环,1求平方和=1),也可能是 无限循环 但始终变不到。我们可以理解成一个链表,以n作为链表的节点(标识符),这个链表是肯定有环的(因为有循环),我们只需要判断这个环的起始点是否为1即可。


解题代码:

C++代码:

class Solution {
public:// 返回n的每一位的平方和 int bitSum(int n) {int sum = 0;while (n){int tmp = n % 10;sum += tmp * tmp;n /= 10;}return sum;}bool isHappy(int n) {int slow = n, fast = bitSum(n);while (slow != fast){slow = bitSum(slow);fast = bitSum(bitSum(fast));}// 判断slow是否为1return slow == 1;}
};

Java代码:

class Solution {// 返回n的每一位的平方和 public int bitSum(int n) {int sum = 0;while (n != 0){int tmp = n % 10;sum += tmp * tmp;n /= 10;}return sum;}public boolean isHappy(int n) {int slow = n, fast = bitSum(n);while (slow != fast){slow = bitSum(slow);fast = bitSum(bitSum(fast));}// 判断slow是否为1return slow == 1;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/13249.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

地表最强ChatGPT爆了!我来告诉你,它都有什么用

OpenAI刚刚发布了全新的 "GPT-4o"&#xff0c;它不仅可以通过语音、视觉和文本进行推理&#xff0c;还在速度和价格上有了巨大的突破。它的速度提高了2倍&#xff0c;价格却降低了50%&#xff0c;而且生成速率比GPT-4 Turbo高出5倍。最令人惊喜的是&#xff0c;它将对…

【prometheus】prometheus基于consul服务发现实现监控

目录 一、consul服务发现简介 1.1 consul简介 二、prometheus配置 2.1 node-exporter服务注册到consul 2.2 修改prometheus配置文件 【Prometheus】概念和工作原理介绍_prometheus工作原理-CSDN博客 【Prometheus】k8s集群部署node-exporter 【prometheus】k8s集群部署p…

Python全栈自动化测试-Python基础07--分支结构if

目录 前言 一、单项分支 二、双向分支 三、多向分支 四、巢状分支&#xff08;嵌套分支&#xff09; 五、if中的判断条件 1.条件--固定值 2.条件--运算符 总结 前言 在Python编程中&#xff0c;分支结构是一种至关重要的控制流机制&#xff0c;它允许程序根据特定条件…

[前端] 深度选择器deep使用介绍(笔记)

参考文献 深度选择器 深度选择器deep使用说明 在 Vue 中&#xff0c;为了实现组件内部样式对组件外部元素的穿透覆盖&#xff0c;可以使用 CSS 的 deep 选择器&#xff08;也称为 >>> 或 /deep/&#xff09;或 v-deep 指令。然而&#xff0c;这两个方法在 Vue 3 中…

C语言之旅:动态内存管理

目录 一.为什么要有动态内存分配 二.malloc和free 2.1 malloc 2.2 free 2. 3malloc和free的使用 三. calloc 四. raelloc 4.1 代码示例&#xff1a; 4.2 注意事项&#xff1a; 4.3 对动态开辟空间的越界访问 4.4 对非动态开辟内存使⽤free释放 4.5 使用free释放⼀块…

在Python中防止某些字段被Pickle序列化

在Python中&#xff0c;如果你想防止某些字段被pickle序列化&#xff0c;可以使用__reduce__()方法来自定义pickle行为。__reduce__()方法允许你返回一个元组&#xff0c;其中包含要在对象被pickle时调用的函数以及传递给该函数的参数。下面就是我遇到的问题以及最终解决方案。…

2D Chests Assets - Mega Pack

科幻/奇幻/经典主题的箱子和容器。AAA质量,高分辨率,VFX,源PSD文件。 这是一个带有手绘套装的大包装: -【梦幻之栗】 -【科幻钱包】 AAA质量。高分辨率。一切都已准备就绪,可供使用。包括PSD文件。 在1.1版本中添加了VFX并将项目更新为URP。请注意,新的VFX仅适用于URP/HD…

C# WinForm —— 20 RichTextBox 介绍

1. 简介 富文本框&#xff0c;拥有TextBox的所有功能&#xff0c;&#xff0c;但还有更多高级的文本输入和编辑功能&#xff0c;比如设置字体颜色、样式、段落、图片、超链接等 2. 常用属性 属性解释(Name)控件ID&#xff0c;在代码里引用的时候会用到,一般以 rtxt 开头Acce…

Python中的数据可视化:填充等高线图matplotlib.pyplot.contourf()

【小白从小学Python、C、Java】 【考研初试复试毕业设计】 【Python基础AI数据分析】 Python中的数据可视化&#xff1a; 填充等高线图 matplotlib.pyplot.contourf() [太阳]选择题 关于代码描述正确的是&#xff1f; import matplotlib.pyplot as plt import numpy as np x …

java数据结构与算法(二叉树前序遍历)

前言 二叉树的前序遍历是一种特定的遍历方法&#xff0c;按照根节点、左子树、右子树的顺序进行遍历。和中序遍历和后续遍历类似&#xff0c;只是先将遍历到的根节点先做输出。 实现原理 前序遍历的具体过程如下&#xff1a; 前序遍历是一种用于二叉树的遍历方式&#xff0…

【奈学科技】P7大前端架构师1期

课程概述 一门专为有志于成为大前端架构师人群量身打造的课程。课程内容深度剖析大前端架构各环节核心架构&#xff08;组件化架构、微内核架构、微前端架构、前后端分离架构&#xff09;并对其进行排列组合形成大前端全局架构观以及培养架构师必备的架构思维模型。史无前例的…

基于若依的ruoyi-vue3.8.7的flowable支持指定接收人的流程审批前端部分

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码&#xff1a; https://gitee.com/nbacheng/ruoyi-nbcio 演示地址&#xff1a;RuoYi-Nbcio后台管理系统 http://218.75.87.38:9666/ 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码&#xff1a; h…

基于BF算法和KMP算法的病毒感染检测

案例引入&#xff1a; 实验任务&#xff1a; 代码实现&#xff1a; 注意&#xff1a;我以项目的形式编写此代码&#xff0c;编译环境为VS2022&#xff0c;代码移植可能会导致错误 mystring.h&#xff1a;存放结构体以及函数声明 #define _CRT_SECURE_NO_WARNINGS #pragma on…

在电脑本地运行llama3-8b模型

文章目录 流程我的案例api调用llama.cpp 流程 ollama支持可运行的模型,图片这里只是一部分而已,只需要下载下面的软件和模型文件,即可直接运行,而无需配置其他 模型文件下载地址 https://ollama.com/library 支持的部分模型,实际上更多,这里只是显示部分 登陆ollama官网 htt…

cpu卡片详解(FM1208)

​ 目录 ​1. 引言 1.1 FM1208 CPU卡芯片 2. FM1208 CPU卡芯片概述 2.1 FM1208及其在智能卡中的作用 2.2 FM1208功能框图 3.FM1208的技术规格 4.FM1208工作流程 5.&#xff26;&#xff2d;1208文件结构 6.FM1208与其他智能卡技术的比较 7.FM1208安全特性 7.1 DES/…

解决kali Linux2024无法获取动态IPv4地址(DHCP)解决方案

用root用户启动终端 进入根目录&#xff0c;选择配置文件 cd到根目录下/../etc/network找到interfaces文件 编辑interfaces文件 vi interfaces&#xff0c;编辑interfaces文件 输入如下命令 打开虚拟网络编辑器 选择虚拟机选项卡&#xff0c;编辑&#xff0c;打开虚拟网络编…

C语言笔记17

指针4 1.数组与指针笔试题型 //1.一维数组 int main1() {int a[] = { 1,2,3,4 };printf("%d\n", sizeof(a)); //16 特例: sizeof(数组名) 表示数组的空间大小printf("%d\n", sizeof(a + 0)); //第一个元素地址: 4(32位系统)/8(64位系统)printf(&q…

广西壮族自治区工程系列生态环境行业技术资格评审条件

广西壮族自治区工程系列生态环境行业技术资格评审条件评审文件链接广西壮族自治区人力资源和社会保障厅网站评审工作的通知关于开展2023年度工程系列生态环境行业职称评审工作的通知 - 职称评审 - 广西壮族自治区生态环境厅网站类别基本条件业绩成果论文、著作条件工程师一、获…

织梦dedecms企业网站模板安装教程

很多新手在拿到织梦模板后不知道如何安装&#xff0c;所以&#xff0c;云部落(Yunbuluo.Net)资源网专门整理了一份图文版织梦模板通用安装教程&#xff0c;希望对大家有所帮助。 第一步&#xff1a; 将域名解析绑定好之后&#xff0c;上传下载的模板至您的WEB根目录中&#xf…

JavaScript与数据库MongoDB的梦幻联动:打造高效的数据驱动应用-【代码示例】

JavaScript与数据库MongoDB的梦幻联动&#xff1a;打造高效的数据驱动应用【代码示例】 一、基本概念与作用1. JavaScript2. MongoDB 二、JavaScript与MongoDB的联动1. 环境准备2. 连接到MongoDB3. 定义数据模型4. 数据操作插入数据查询数据更新数据删除数据 三、性能与安全考虑…