算法刷题:快乐数

news2025/1/16 21:58:17

快乐数

  • .
  • 习题链接
  • 题目
  • 题目解析
  • 初始值
  • 算法原理
  • 我的答案

.

在这里插入图片描述

习题链接

快乐数

题目

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

「快乐数」 定义为:

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

题目解析

分析题目,可以得到两种结果:

  1. 一直在1这个数上死循环,如:1->1->1…
  2. 在历史的数据中进行死循环,但始终不为1

由上面两种结果可以推断出:结果必定会出现死循环,我们只需要找到死循环后进入循环圈中的一个数,判断这个数是否为1,就可以判断出该正整数是否为快乐数.
那么问题很明确,我们现在需要做的是,找到那个进入循环圈的数,这里我们使用双指针中的快慢指针来完成

初始值

fast: bitSum(n)
slow: n
因为后面进行while循环的时候,判断条件是fast!=slow,因此需要让fast与slow的初始值错开一位

算法原理

fast这个指针每次进行两次求平方和,而slow则是进行一次求平方和,循环执行该步骤,直到fast与slow相等,则说明已经找到了一个在循环圈里的数

我的答案

class Solution {
    public boolean isHappy(int n) {
        int fast = bitSum(n);
        int slow = n;
        while(fast!=slow){
            fast=bitSum(bitSum(fast));
            slow=bitSum(slow);
        }
        return fast==1;
    }
    public int bitSum(int n){
        int sum = 0;
        while(n!=0){
            int tmp = n%10;
            sum = sum +tmp*tmp;
            n=n/10;
        }
        return sum;
    }
}

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

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

相关文章

数学实验第三版(主编:李继成 赵小艳)课后练习答案(九)(1)(2)

实验九:线性函数极值求解 练习一 1.求解线性规划问题: (1)max z3,s.t. clc;clear; %采用软件解法 c[-3,-1]; a[-1,1;1,-2;3,2]; b[2;2;14]; [x,min]linprog(c,a,b)找到最优解。 x 4 1 min -13 题上要求的是最大值&#…

二叉树的垂直遍历

1.题目 这道题是2024-2-13的签到题,题目难度为困难。 考察的知识点是DFS算法和自定义排序。 题目链接:二叉树的垂直遍历 给你二叉树的根结点 root ,请你设计算法计算二叉树的 垂序遍历 序列。 对位于 (row, col) 的每个结点而言&#xff…

Spark编程实验六:Spark机器学习库MLlib编程

目录 一、目的与要求 二、实验内容 三、实验步骤 1、数据导入 2、进行主成分分析(PCA) 3、训练分类模型并预测居民收入 4、超参数调优 四、结果分析与实验体会 一、目的与要求 1、通过实验掌握基本的MLLib编程方法; 2、掌握用MLLib…

软件实例分享,宠物店兽医电子处方开单系统软件教程

软件实例分享,宠物店兽医电子处方开单系统软件教程 一、软件教程问答 以下教程以 佳易王宠物店兽医电子处方软件V16.0为例说明 软件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 问:宠物医院电子处方单子使用的纸张大小是多少&…

19 删除链表的倒数第 N 个结点

19. 删除链表的倒数第 N 个结点 中等 相关标签 相关企业 提示 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 这段代码使用了双指针的方法,其中一个指针先走 n 步,然后两个指针一起走,直到第一…

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之LoadingProgress组件

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之LoadingProgress组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、LoadingProgress组件 用于显示加载动效的组件。 子组件 无 接口 L…

【Linux学习】生产者-消费者模型

目录 22.1 什么是生产者-消费者模型 22.2 为什么要用生产者-消费者模型? 22.3 生产者-消费者模型的特点 22.4 BlockingQueue实现生产者-消费者模型 22.4.1 实现阻塞队列BlockQueue 1) 添加一个容器来存放数据 2)加入判断Blocking Queue情况的成员函数 3)实现push和pop方法 4)完…

使用word2vec+tensorflow自然语言处理NLP

目录 介绍: 搭建上下文或预测目标词来学习词向量 建模1: 建模2: 预测: 介绍: Word2Vec是一种用于将文本转换为向量表示的技术。它是由谷歌团队于2013年提出的一种神经网络模型。Word2Vec可以将单词表示为高维空间…

JAVA-多进程开发-创建等待进程

前言 在项目中,为了实现“并发编程”(同时执行多个任务),就引入了“多进程编程”,把一个很大的任务,拆分成若干个很小的任务,创建多个进程,每个进程分别负责其中的一部分任务。 这也…

Java实现中学生家校互联系统 JAVA+Vue+SpringBoot+MySQL

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 学生管理模块2.2 课堂表现模块2.3 考试成绩模块2.4 家校留言模块2.5 校园通知模块 三、系统设计3.1 用例设计3.2 实体类设计3.2.1 课堂表现实体类设计3.2.2 考试成绩实体类设计3.2.3 家校留言实体类设计3.2.4 校园通知实…

虚拟人专题报告:虚拟人深度产业分析报告

今天分享的是虚拟人系列深度研究报告:《虚拟人专题报告:虚拟人深度产业分析报告》。 (报告出品方:Q量子位) 报告共计:18页 技术背景 虚拟数字人指存在于非物理世界中,由计算机图形学、图形渲…

【Vue】工程化开发脚手架Vue CLI

📝个人主页:五敷有你 🔥系列专栏:Vue⛺️稳重求进,晒太阳 工程化开发&脚手架Vue CLI 基本介绍 Vue Cli是Vue官方提供的一个全局命令工具 可以帮助我们快速创建一个开发Vue项目的标准化基础架子【集成了we…

【小沐学GIS】基于C++QT绘制三维数字地球Earth(OpenGL)

🍺三维数字地球系列相关文章如下🍺:1【小沐学GIS】基于C绘制三维数字地球Earth(456:OpenGL、glfw、glut)第一期2【小沐学GIS】基于C绘制三维数字地球Earth(456:OpenGL、glfw、glut)第二期3【小沐…

四、OpenAI之文本生成模型

文本生成模型 OpenAI的文本生成模型(也叫做生成预训练的转换器(Generative pre-trained transformers)或大语言模型)已经被训练成可以理解自然语言、代码和图片的模型。模型提供文本的输出作为输入的响应。对这些模型的输入内容也被称作“提示词”。设计提示词的本质是你如何对…

python 经典老人言

python 经典老人言 import tkinter as tkclass FlipBook:def __init__(self, master):self.master master master.title("经 典 老 人 言")self.pages ["经 典 老 人 言","求学无笨者,努力就成功","读 书 百 遍&am…

代码随想录|day 16

Day 16 迎财神 坚持如此hard 玄之又玄,众妙之门 一、理论知识 回顾【深度】和【高度】的概念,现在主要还是写递归2) 初识【回溯】3)左叶子的明确定义:节点A的左孩子不为空,且左孩子的左右孩子都为空&am…

Python学习之路-爬虫提高:scrapy基础

Python学习之路-爬虫提高:scrapy基础 为什么要学习scrapy 通过前面的学习,我们已经能够解决90%的爬虫问题了,那么scrapy是为了解决剩下的10%的问题么,不是,scrapy框架能够让我们的爬虫效率更高 什么是scrapy Scrapy是一个为了…

(三十七)大数据实战——Solr服务的部署安装

前言 Solr是一个基于Apache Lucene的开源搜索平台,它提供了强大的全文搜索、分布式搜索和数据分析功能。Solr 可以用于构建高性能的搜索应用程序,支持从海量数据中快速检索和分析信息。Solr 使用倒排索引和先进的搜索算法,可实现快速而准确的…

AI绘画作品的展示和变现-2

4.7 制作红包封面 中国的节日和传统文化元素仍然可以成为创作者们的创作灵感,创造出更多的变现机会。比如元宵节,可以制作大型元宵图案,进行引流并卖出元宵。 而春分、谷雨等节气也可以成为创作的灵感来源,创作出与之相关的图案&…

最新wordpress外贸主题

日用百货wordpress外贸主题 蓝色大气的wordpress外贸主题,适合做日用百货的外贸公司搭建跨境电商网站使用。 https://www.jianzhanpress.com/?p5248 添加剂wordpress外贸建站主题 橙色wordpress外贸建站主题,适合做食品添加剂或化工添加剂的外贸公司…