【双指针】Leetcode 202.快乐数

题目解析

Leetcode 202.快乐数
在这里插入图片描述
看完题目描述相信大家已经知晓题目的含义,我们通过一张图再剖析一下题目含义
在这里插入图片描述
快乐数或者非快乐数都是可以成环的,这个是数学上已经证明了的。所以这道题的最后含义就是分辨出环中全部是1或者全部没有1的


双指针

成环问题我们在做链表的时候也是使用的双指针,这里我们通过画图看到系列问题的解决方法。定义两个“指针”,每一次这两个指针不断挪动不同的步数。我们知道,在环里面的指针一定会有相遇位置,所以我们通过判断这个相遇节点是否是1就完成了本道LeetCode

在这里插入图片描述


代码编写

class Solution {
public:
//相当于指针往后面移动一步int BitSum(int num){int ret = 0;while(num){ret += pow(num % 10, 2);num /= 10;}return ret;}bool isHappy(int n) {int slow = n;int fast = BitSum(n);while(fast != slow){slow = BitSum(slow);fast = BitSum(BitSum(fast));}//走到这里,说明一定是相遇了,判断就是了if(fast == 1)return true;return false;}
};

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

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

相关文章

家政服务管理平台设计与实现|SpringBoot+ Mysql+Java+ B/S结构(可运行源码+数据库+设计文档)

本项目包含可运行源码数据库LW,文末可获取本项目的所有资料。 推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 2024年56套包含java,…

分享近期整理出来的5款好用软件

​ 最近陆陆续续收到好多小伙伴的咨询,这边也是抓紧时间整理出几个好用的软件,希望可以帮到大家。 1.任务管理——Todoist ​ Todoist是一款功能强大的任务管理应用,它帮助用户规划日常生活和工作中的各种任务。用户可以通过它创建任务清单…

7天拿下自动化测试

🍅 视频学习:文末有免费的配套视频可观看 🍅 关注公众号【互联网杂货铺】,回复 1 ,免费获取软件测试全套资料,资料在手,涨薪更快 一、自动化测试 在软件测试中,自动化测试指的是使用…

Vue3 + Vite + TS + Element-Plus + Pinia创建新项目(1)

1、cmd进入命令行后,输入npm create vite 2、使用vs code打开文件夹 3、在VS Code的终端里面输入命令:npm i 安装依赖 4、安装依赖库 npm i vue-router 路由安装 npm i pinia 全局状态管理 npm i axios 请求库 npm i element-p…

蓝桥杯算法 - DP

上一篇:[[蓝桥杯算法-排序、递归、全排列]] 动态规划(dp) dp即动态规划,常用于:数学,计算机科学,管理学,经济和生物信息学。 dp在生活中也很常见,如:你今天…

边缘计算网关在机械制造企业的应用效果和价值-天拓四方

随着智能制造行业的飞速发展,数据量的激增和实时性要求的提高,传统的数据处理方式已经难以满足生产需求。而边缘计算网关的出现,为智能制造行业带来了革命性的变化。下面,我们将通过一个具体案例展示边缘计算网关在智能制造行业的…

数据库高级查询【mysql】

数据库高级查询【数据库】 前言版权推荐数据库高级查询行转列统计数据 CASE WHEN 条件 THEN 结果1 ELSE 结果2 END数据库查询带排名建表查询带排名,排名连续查询带排名,排名不连续查询带排名,按行号 Mysql数据库函数常用函数最后 前言 2024-…

Docker进阶:Docker Swarm(集群搭建) —实现容器编排的利器

Docker进阶:Docker Swarm(集群搭建) —实现容器编排的利器 1、什么是Docker Swarm?2、Docker Swarm 与 Docker Compose的区别3、创建一个Swarm集群(1-Manager,2-Worker)1、资源准备2、初始化Swa…

QT环境搭建

学习QT 一、QT环境搭建二、QT的SDK下载三、认识QT SDK 中自带的一些程序 一、QT环境搭建 QT开发环境,需要安装三个部分。 c编译器(gcc、cl.exe……不是visual studio)QT SDK(QT SDK里面已经内置了C编译器;SDK就是软件…

迅雷网盘拉新项目,一手接单渠道(附新人操作教程)

一、 星子助推-迅雷拉新项目介绍 (一)项目优势 1、 网盘功能强大:作为国内比较早的网盘产品,支持市面上包括安装包、压缩包、图片、视频、文档基本上所有格式的文件都可以放在迅雷云盘上,用户下载和转存方便。 2、 …

使用WebClient发起网络请求

目录 1、导入对应的pom 2、编写WebClientUtil请求工具类 3、使用WebClientUtil发起请求 使用WebClient的优点:支持lambdas 的函数;支持更高的并发性和更少的硬件资源;支持同步和异步;支持流式传输。具体的使用方式如下&#xff1a…

单片机入门到精通:一站式在线学习平台!

介绍:单片机,也称为微控制器(MCU),是一种集成了中央处理器(CPU)、随机存储器(RAM)、只读存储器(ROM)以及输入/输出接口于单一芯片上的微型计算机。…