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

Leetcode的AC指南 —— 哈希表:202. 快乐数

摘要:
Leetcode的AC指南 —— 哈希表:202. 快乐数。题目介绍:编写一个算法来判断一个数 n 是不是快乐数。

文章目录

  • 一、题目
  • 二、解析
    • 1、哈希表

一、题目


题目介绍:编写一个算法来判断一个数 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 <= 2e31 - 1

二、解析


1、哈希表

public static boolean isHappy (int n) {int num = 0;Set<Integer> SUM = new HashSet<>();while (n != 1) {int sum = 0;// 每个位置上的数字的平方和while (n != 0) {num = n % 10;sum += num * num;n = (int) (n / 10);}// 将平方和在没在哈希表中,不在加入哈希表。if (SUM.contains(sum)) {return false;} else {SUM.add(sum);n = sum;}}return true;}
  • 时间复杂度: O(logn)
  • 空间复杂度: O(logn)
  • 代码优化:
class Solution {public boolean isHappy(int n) {Set<Integer> record = new HashSet<>();while (n != 1 && !record.contains(n)) {record.add(n);n = getNextNumber(n);}return n == 1;}private int getNextNumber(int n) {int res = 0;while (n > 0) {int temp = n % 10;res += temp * temp;n = n / 10;}return res;}
}

相关文章:

Leetcode的AC指南 —— 哈希表:202. 快乐数

摘要&#xff1a; Leetcode的AC指南 —— 哈希表&#xff1a;202. 快乐数。题目介绍&#xff1a;编写一个算法来判断一个数 n 是不是快乐数。 文章目录 一、题目二、解析1、哈希表 一、题目 题目介绍&#xff1a;编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为…...

机器学习 项目结构 数据预测 实验报告

需求&#xff1a; 我经过处理得到了测试值&#xff0c;然后进一步得到预测和真实值的比较&#xff0c;然后再把之前的所有相关的参数、评估指标、预测值、比较结果都存入excel,另外我还打算做测试报告模板&#xff0c;包括敏感性分析等。您建议我这些功能如何封装这些功能&…...

[Verilog] 设计方法和设计流程

主页&#xff1a; 元存储博客 文章目录 1. 设计方法2. 设计流程 3 Vivado软件设计流程总结 1. 设计方法 Verilog 的设计多采用自上而下的设计方法&#xff08;top-down&#xff09;。设计流程是指从一个项目开始从项目需求分析&#xff0c;架构设计&#xff0c;功能验证&#…...

C语言:指向数组的指针和指向数组元素的指针

相关阅读 C语言https://blog.csdn.net/weixin_45791458/category_12423166.html?spm1001.2014.3001.5482 指向数组的指针和指向数组元素的指针常常被混淆&#xff0c;或者笼统地被称为数组指针&#xff0c;但它们之间是有差别的&#xff0c;本文就将对此进行讨论。 下面的代码…...

SQL基础:SQL 介绍和数据库基础

SQL简介 常用的Java等语言是和计算机交流的工具&#xff0c;告诉计算机&#xff0c;让计算机做一些事。 和其类似&#xff0c;SQL是 Structured Query Language 的缩写&#xff0c;即结构化的查询语言&#xff0c;是和数据库交互的工具&#xff0c;即通过既定的一些格式&…...

SpringSecurity入门

前言 Spring Security是一个用于在Java应用程序中提供身份验证和授权功能的强大框架。它构建在Spring框架之上&#xff0c;为开发人员提供了一套灵活且全面的安全性服务&#xff0c;本篇将为大家带来Spring Security的详细介绍及入门 一.安全框架 在学习了解Spring Security之…...

iOS 应用在前台时显示通知

背景&#xff1a; 在iOS应用中&#xff0c;当应用在前台运行时&#xff0c;是不会默认弹出通知的。这是iOS的设计决定&#xff0c;以避免用户在使用应用的过程中被打扰。然而&#xff0c;如果你希望在应用在前台的时候也能收到通知&#xff0c;你可以在你的应用代码中进行一些…...

Hamming space

汉明距离表示两个相同长度字符串对应位置的不同字符的数量。 对两个字符串异或运算&#xff0c;并统计1的个数并相减&#xff0c;这个数就是汉明距离。...

anaconda 安装 使用 pytorch onnx onnxruntime

一&#xff1a;安装 如果不是 x86_64&#xff0c;需要去镜像看对应的版本 安装 Anaconda 输入命令 bash Anaconda3-2021.11-Linux-x86_64.sh 然后输入 yes 表示同意 确认安装的路径&#xff0c;一般直接回车安装在默认的 /home/你的名字/anaconda3 很快就安装完毕。输入 yes…...

Web请求与响应

目录 Postman Postman简介 Postman的使用 请求 简单参数 实体参数 数组参数 集合参数 日期参数 Json参数 路径参数 响应 ResponseBody 统一响应结果 Postman Postman简介 postman是一款功能强大的网页调试与发送网页http请求的Chrome插件&#xff0c;常用于进行…...

ADS学习笔记(一)——更新中

在ADS中&#xff0c;信号上升时间为信号从0&#xff5e;100&#xff05;所用的时间&#xff0c;而实际上定义的上升边均为10&#xff05;&#xff5e;90&#xff05;&#xff0c;所以可以认为上升边&#xff1d;0.8*ADS设置上升时间。 一、终端开路及短路的反射信号 1.仿真条…...

智能优化算法应用:基于冠状病毒群体免疫算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于冠状病毒群体免疫算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于冠状病毒群体免疫算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.冠状病毒群体免疫算法4.…...

小型气象站是什么?

随着科技的发展&#xff0c;我们的生活变得越来越便捷。如今&#xff0c;一款名为小型气象站的新兴设备正在逐渐走进我们的生活&#xff0c;为我们的日常生活增添了更多的便利和舒适。 WX-CQ12小型气象站是一种集成了多种传感器和数据采集技术的智能设备&#xff0c;可以实时监…...

官方指定Jmeter配置JVM堆内存方式

1.概述 在使用Jmeter做性能测试过程中&#xff0c;可能会应为默认设置的堆内存值较小出现堆内存溢出问题&#xff0c;此时解决的方式有两种&#xff0c;分布式测试和调大堆内存。下面介绍官方推荐调整堆内存方法。 2.调整Jmeter堆内存 2.1.介绍官方推荐堆内存调整方法(jmete…...

spark-常用算子

一&#xff0c;Transformation变换/转换算子&#xff1a; 这种变换并不触发提交作业&#xff0c;这种算子是延迟执行的&#xff0c;也就是说从一个RDD转换生成另一个RDD的转换操作不是马上执行&#xff0c;需要等到有Action操作的时候才会真正触发。 1.Value数据类型的Transf…...

《opencv实用探索·二十一》人脸识别

Haar级联分类器 在OpenCV中主要使用了两种特征&#xff08;即两种方法&#xff09;进行人脸检测&#xff0c;Haar特征和LBP特征。用的最多的是Haar特征人脸检测。 Haar级联分类器是一种用于目标检测的机器学习方法&#xff0c;它是一种基于机器学习的特征选择方法&#xff0c;…...

前端项目配置下载源npm, yarn,pnpm

前端项目配置下载源 npm: npm config set registry registryhttps://registry.npmmirror.com -g验证: npm config get registry yarn: yarn config set registry registryhttps://registry.npmmirror.com -gyarn config get registryyarn找不到, 需要管理员在命令行: set-exec…...

Elasticsearch之ik中文分词篇

Elasticsearch之ik中文分词篇 ik分词器插件ik分词器安装ik分词模式es ik分词测试 ik分词器插件 es在7.3版本已经支持中文分词&#xff0c;由于中文分词只能支持到单个字进行分词&#xff0c;不够灵活与适配我们平常使用习惯&#xff0c;所以有很多对应中文分词出现&#xff0c…...

2023_Spark_实验三十:测试Flume到Kafka

实验目的&#xff1a;测试Flume采集数据发送到Kafka 实验方法&#xff1a;通过centos7集群测试&#xff0c;将flume采集的数据放到kafka中 实验步骤&#xff1a; 一、 kafka可视化工具介绍 Kafka Tool是一个用于管理和使用Apache Kafka集群的GUI应用程序。 Kafka Tool提供了…...

urllib2 HTTP头部注入

文章目录 注入原理例题 [SWPU 2016]web7 注入原理 参考文章 应用场景是具有SSRF漏洞&#xff0c;结合CRLF注入 我们以redis数据库为例&#xff0c;当存在SSRF时我们伪造以下请求 http://127.0.0.1%0d%0aCONFIG%20SET%20dir%20%2ftmp%0d%0aCONFIG%20SET%20dbfilename%20evil%…...

在 WebRTC 中,Offer/Answer 模型是协商 WebRTC 连接参数的关键部分

在 WebRTC 中&#xff0c;Offer/Answer 模型是协商 WebRTC 连接参数的关键部分。当 Offer 和 Answer 交换失败时&#xff0c;可能涉及到多个原因。以下是一些可能的问题和解决方案&#xff1a; SDP 格式错误&#xff1a; Session Description Protocol&#xff08;SDP&#xff…...

数据结构:图解手撕B-树以及B树的优化和索引

文章目录 为什么需要引入B-树&#xff1f;B树是什么&#xff1f;B树的插入分析B树和B*树B树B*树分裂原理 B树的应用 本篇总结的内容是B-树 为什么需要引入B-树&#xff1f; 回忆一下前面的搜索结构&#xff0c;有哈希&#xff0c;红黑树&#xff0c;二分…等很多的搜索结构&a…...

useConsole的封装,vue,react,htmlscript标签,通用

之前用了接近hack的方式实现了console的封装&#xff0c;目标是获取console.log函数的执行&#xff08;调用栈所在位置&#xff09;所在的代码行数。 例如以下代码&#xff0c;执行window.mylog(1)时候&#xff0c;console.log实际是在匿名的箭头函数()>{//这里执行的} con…...

Azure Machine Learning - 提示工程高级技术

本指南将指导你提示设计和提示工程方面的一些高级技术。 关注TechLead&#xff0c;分享AI全维度知识。作者拥有10年互联网服务架构、AI产品研发经验、团队管理经验&#xff0c;同济本复旦硕&#xff0c;复旦机器人智能实验室成员&#xff0c;阿里云认证的资深架构师&#xff0c…...

七款创意项目管理软件解决方案推荐:高效项目管理与团队协作工具

企业无论大小&#xff0c;都离不开项目经理、营销团队和创意人员。他们参与各种头脑风暴&#xff0c;为特定目标打造项目。然而&#xff0c;在创意项目管理中&#xff0c;细节决定成败。若处理不当&#xff0c;可能导致项目失败和混乱。 过去&#xff0c;创意项目管理依赖纸质规…...

如何在公网环境下使用Potplayer访问本地群晖webdav中的影视资源

文章目录 本教程解决的问题是&#xff1a;按照本教程方法操作后&#xff0c;达到的效果是&#xff1a;1 使用环境要求&#xff1a;2 配置webdav3 测试局域网使用potplayer访问webdav3 内网穿透&#xff0c;映射至公网4 使用固定地址在potplayer访问webdav ​ 国内流媒体平台的内…...

数据可视化Seaborn

数据可视化Seaborn Seaborn简介Seaborn API第一个Seaborn应用Seaborn基本概念Seaborn图表类型Seaborn数据集Seaborn样式Seaborn调色板Seaborn分面网格Seaborn统计图表Seaborn散点图Seaborn折线图Seaborn柱状图Seaborn箱线图Seaborn核密度估计图Seaborn分类散点图Seaborn回归分…...

AWS S3相关配置笔记

关闭 阻止所有公开访问 存储桶策略(开放外部访问) {"Version": "2012-10-17","Id": "S3PolicyId1","Statement": [{"Sid": "statement1","Effect": "Allow","Principal"…...

linux:linux的小动物们(ubuntu)

1.蒸汽小火车 输入下面的命令下载&#xff0c;再输出sl sudo apt-get install sl sl2.今天你哞了吗 apt-get moo 3.会说话的小牛 输入下面的命令下载一下 sudo apt-get install cowsay输入这个 cowsay jianbing cowsay -l 查看其它动物的名字 然后cowsay -f 跟上动物名&…...

每日一题(LeetCode)----栈和队列--逆波兰表达式求值

每日一题(LeetCode)----栈和队列–逆波兰表达式求值 1.题目&#xff08;150. 逆波兰表达式求值&#xff09; 给你一个字符串数组 tokens &#xff0c;表示一个根据 逆波兰表示法 表示的算术表达式。 请你计算该表达式。返回一个表示表达式值的整数。 注意&#xff1a; 有效的算…...

wordpress 面包插件/在线培训网站次要关键词

我们知道目前很多应用系统中的内容传输协议采用的HTTP协议&#xff0c;因此不管你是前端人员、后端人员、运维人员&#xff0c;甚至是管理人员&#xff0c;都需要掌握HTTP知识&#xff01;&#xff01;HTTP发展历史 HTTP/0.9 该版本只有一个命令GET&#xff1b;没有HEADER等描…...

长沙法律咨询网站设计开发/seo关键词优化价格

1.git shelve的使用 shelve是idea提供的特有暂存&#xff08;搁置&#xff09;代码的功能。使用场景&#xff1a;当你在一个分支上修改代码后但暂时不想提交&#xff0c;这时你需要切换到另外一个分支上去工作&#xff0c;这时候就需要暂存现在修改的代码。&#xff08;git 提供…...

太原网站建设 网站制作/成都百度搜索排名优化

1、首先查看数据库有没有Classes数据库2、我们看到并没有&#xff0c;我们就可以创建数据库注意&#xff1a;在这个数据库中&#xff0c;我们要输入中文数据&#xff0c;所以在创建数据库时&#xff0c;编码格式是utf8形式3、创建成功后&#xff0c;我们要开始使用数据库4、在这…...

推上网站/semir

文章目录一、注册中心CAP理论知识二、注册中心CAP原理三.注册中心-Eureka_Server搭建四、Eureka_Client客户端搭建(ProductServerApplication&#xff0c;用来向Eureka服务端提供服务)五、服务消费者Ribbon和Feign六、互联网架构服务熔断降级Hystrix6.1简介6.2Netflix开源组件断…...

防做网站视频/外贸平台排行榜前十名

原文地址 今天给客户做一个微信端的HTML5的动画页面&#xff0c;页面内有一个视频文件&#xff0c;今天上线&#xff0c;这是前提。刚上线不久&#xff0c;客户的服务器便不堪重负&#xff0c;为了解决问题&#xff0c;我们将该页面的媒体文件放在自己的服务器上。问题来了&…...

wordpress多语言内容添加/重庆seo排名

一、编译安装nginx1、下载[rootns1 ~]# wget http://nginx.org/download/nginx-1.10.0.tar.gz2、解压[rootns1 ~]# tar xf nginx-1.10.0.tar.gz [rootns1 ~]# cd nginx-1.10.03、安装依赖组件[rootns1 nginx-1.10.0]# yum install pcre-devel #url重写需要的组件 [rootns1 n…...