(C++)快乐数--双指针法

简介: (C++)快乐数--双指针法

个人主页:Lei宝啊

愿所有美好如期而遇


算法原理

双指针法,不一定是说就要使用指针,只是一种形象的说法,在数组中,我们一般将数组下标当做指针。这道题目,首先一定不会无限不循环,这是我们根据鸽巢原理得出的,所以既然我们知道他一定不会无限不循环,那就是一定会无限循环,所以最后要么循环是1,或者就循环不是1,我们也由此可以想到一类题目,就是判断一个链表带不带环,我们使用的就是快慢指针,最后判断快慢指针相遇的地方两个指针的值是不是1,是1就返回true,不是1就返回false。

图示

代码

class Solution {
public:
    int change(int num)
    {
        int rnum = 0;
        while(num)
        {
            int n = num % 10;
            rnum += n * n;
            num /= 10;
        }
        return rnum;
    }
    bool isHappy(int n) 
    {
        int slow = n;
        int fast = n;
        slow = change(slow);
        fast = change(fast);
        fast = change(fast);
        while(slow != fast)
        {
            slow = change(slow);
            fast = change(fast);
            fast = change(fast);
        }
        if(slow == 1)
        {
            return true;
        }
        else 
        {
            return false;
        }
    }
};


目录
相关文章
|
SQL 小程序 前端开发
【易售小程序项目】商品详情展示+评论、评论展示、评论点赞+商品收藏【后端基于若依管理系统开发】
【易售小程序项目】商品详情展示+评论、评论展示、评论点赞+商品收藏【后端基于若依管理系统开发】
291 0
|
8月前
|
缓存 监控 安全
高并发编程知识体系
本文将从线程的基础理论谈起,逐步探究线程的内存模型,线程的交互,线程工具和并发模型的发展。扫除关于并发编程的诸多模糊概念,从新构建并发编程的层次结构。
|
算法 Java 关系型数据库
漫谈分布式数据复制和一致性!
漫谈分布式数据复制和一致性!
156 0
|
机器学习/深度学习 人工智能 算法
GitHub星标破千!斯坦福大学的284个机器学习小抄(漫画中文版)
说到人工智能必然要了解机器学习,从信息化软件,到电子商务,然后到高速发展互联网时代,到至今的云计算、大数据等,渗透到我们的生活、工作之中,在互联网的驱动下,人们更清晰的认识和使用数据,不仅仅是数据统计、分析,我们还强调数据挖掘、预测。 机器学习就是对计算机一部分数据进行学习,然后对另外一些数据进行预测与判断。 机器学习的核心是”使用算法解析数据,从中学习,然后对新数据作出决定或预测”。也就是说计算机利用已获取的数据得出某一模型,然后利用此模型进行预测的一种方法,这个过程跟人的学习过程有些类似,比如人获取一定的经验,可以对新问题进行预测。
GitHub星标破千!斯坦福大学的284个机器学习小抄(漫画中文版)
|
存储 架构师 测试技术
架构之道:人人都是架构师(2)
每个业务系统的开发者都应该具备一定的架构师素养,架构师的重要职责不仅仅是做决策,更重要的是提升团队的整体能力。一个好的架构师应该聚焦于业务和系统,定义问题和结果,设计系统、模块和代码,同时也需要解决跨域问题,确定团队间的边界,制定规范,统一语言,并创建一个让每个人都能成长为架构师的环境,以促进团队的敏捷性。本文旨在探讨如何培养架构思维,并阐述了架构师的职责、能力模型、方法论,以及如何成为架构师。
378 10
|
机器学习/深度学习 自然语言处理 算法
ICML 2024:零阶优化器微调大模型,大幅降低内存
【7月更文挑战第14天】ICML 2024研究表明,零阶优化用于大模型微调能大幅降低内存需求。该论文通过避免反向传播,减少LLM(大型语言模型)微调的内存开销,提出新方法,适用于资源受限环境。虽然性能可能不及一阶优化器,但为高效NLP计算开辟了新途径。论文链接:[arxiv.org/abs/2402.11592](https://arxiv.org/abs/2402.11592)**
393 3
|
NoSQL Redis
蓝易云 - redis报错WRONGTYPE Operation against a key holding the wrong kind of value
解决这个问题的方法是检查你的代码,确保你对每个键使用的命令与该键的类型匹配。你可以使用 `TYPE`命令来确定一个键的类型。例如,`TYPE mykey`将返回 `mykey`的类型。
501 3
|
域名解析 网络协议 网络安全
WordPress搭建个人博客
这篇文章将手把手地指导你如何快速完成WordPress的搭建。你可以利用WordPress搭建个人博客,甚至企业官方网站。只要你跟着本文的步骤走,即使小白也能轻松搞定WordPress网站搭建。首选你需要购买一个vps,并将你的域名解析到vps;然后连接你的VPS,在vps上执行命令一键安装WordPress;再接下来就是初始化你的WordPress了,安装Argon模板、安装RankMath SEO插件、安装webp图片速度优化插件
763 2
WordPress搭建个人博客
|
存储 传感器 编解码
图像格式:常见图像格式RAW, RGB, YUV&&图像格式的解析、格式转换和看图软件
图像格式:常见图像格式RAW, RGB, YUV&&图像格式的解析、格式转换和看图软件
3399 1
|
机器学习/深度学习 人工智能 算法
人工智能语音信号预处理
人工智能语音信号预处理
453 3