LeetCode实战:快乐数

news/2024/7/2 23:40:22

题目英文

Write an algorithm to determine if a number is “happy”.

A happy number is a number defined by the following process: Starting with any positive integer, replace the number by the sum of the squares of its digits, and repeat the process until the number equals 1 (where it will stay), or it loops endlessly in a cycle which does not include 1. Those numbers for which this process ends in 1 are happy numbers.

Example:

Input: 19
Output: true
Explanation: 
1^2 + 9^2 = 82
8^2 + 2^2 = 68
6^2 + 8^2 = 100
1^2 + 0^2 + 0^2 = 1

题目中文

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

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

示例:

输入: 19
输出: true
解释: 
1^2 + 9^2 = 82
8^2 + 2^2 = 68
6^2 + 8^2 = 100
1^2 + 0^2 + 0^2 = 1输入:7
输出:true输入: 20
输出: false
解释:
20 => 4 + 0
4 => 16
16 => 1 + 36
37 => 9 + 49
58 => 25 + 64
89 => 64 + 81
145 => 1 + 16 + 25
42 => 16 + 4
20 可以看到, 20再次重复出现了, 所以永远不可能等于1

算法实现

// 首先定义一个Set集合,用来存放计算后的平方和m,
// 如果m在Set中已存在,即进入了死循环,则退出; 
// 如果m不存在Set,则将m放入Set; 
// 直至找到平方和为1或者进入死循环就退出。public class Solution {public bool IsHappy(int n) {HashSet<int> set = new HashSet<int>();int m = 0;while (true){while (n != 0){m += (int)Math.Pow(n % 10,2);n /= 10;}if (m == 1){return true;}if (set.Contains(m))return false;set.Add(m);n = m;m = 0;}        }
}

实验结果

提交结果


相关图文

  • LeetCode实战:删除链表的倒数第N个节点
  • LeetCode实战:合并两个有序链表
  • LeetCode实战:两两交换链表中的节点
  • LeetCode实战:旋转链表
  • LeetCode实战:相同的树
  • LeetCode实战:对称二叉树
  • LeetCode实战:二叉树的最大深度
  • LeetCode实战:搜索二维矩阵
  • LeetCode实战:将有序数组转换为二叉搜索树
  • 资料分享:数学建模资料分享 – 图论部分
  • 资料分享:数学建模资料分享 – 神经网络部分
  • 如何利用 C# 实现 K 最邻近算法?
  • 如何利用 C# 实现 K-D Tree 结构?
  • 如何利用 C# + KDTree 实现 K 最邻近算法?
  • 如何利用 C# 对神经网络模型进行抽象?
  • 如何利用 C# 实现神经网络的感知器模型?
  • 如何利用 C# 实现 Delta 学习规则?
  • 如何利用 C# 实现 误差反向传播 学习规则?
  • 如何利用 C# 爬取带 Token 验证的网站数据?
  • 如何利用 C# 向 Access 数据库插入大量数据?
  • 如何利用 C# + Python 破解猫眼电影的反爬虫机制?

http://lihuaxi.xjx100.cn/news/255531.html

相关文章

腾讯: 可视化, 低代码生成器,正式开源!

欢迎关注方志朋的博客&#xff0c;回复”666“获面试宝典腾讯tmagic-editor是一个所见即所得的页面可视化编辑器&#xff0c;实现零代码/低代码生成页面&#xff0c;可以快速搭建可视化页面生产平台&#xff0c;让非技术人员可以通过拖拽和配置&#xff0c;自助生成H5页面、PC页…

成功上岸哈工大!

Datawhale干货 作者&#xff1a;姚行志&#xff0c;华北电力大学&#xff0c;Datawhale成员我是姚行志&#xff0c;华北电力大学本科生&#xff0c;2022年考研成功上岸哈工大计算机854。现在把自己初试备考的经验分享给大家&#xff0c;希望大家都能成功上岸。为什么选择哈工大…

IIS配置跨服务器迁移

这几天&#xff0c;因为服务器要重装&#xff0c;要将此服务器的IIS网站搬到别一台服务器&#xff0c;因运行在此服务器上的站点有200多&#xff0c;不可能手动去重新设置&#xff0c;在网上找了一些迁移的工具&#xff0c;效果不理想&#xff0c;仔细研究IIS后&#xff0c;终天…

苹果放大招?「廉价版」5G iPhone 将揭晓,M2芯片来袭?

整理 | 张洁来源 | CSDN3 月 2 日&#xff0c;苹果公司正式宣布将于北京时间 3 月 9 日凌晨 2 点举办 2022 年的首场活动&#xff0c;主题为“peek performance&#xff08;高能传送&#xff09;”。与去年一样&#xff0c;苹果 2022 年的第一场活动将继续以线上的方式进行。活…

.net中的魔字符串

System.Net.HttpWebRequest req (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(query);req.Method "POST";上面的代码中&#xff0c;对Method赋值使用了直接赋字符串的方法&#xff0c;可以使用的字符串包括GET、HEAD、POST、PUT、DELETE、TRACE 或…

token 过期后,如何自动续期?

欢迎关注方志朋的博客&#xff0c;回复”666“获面试宝典JWT token的 payload 部分是一个json串&#xff0c;是要传递数据的一组声明&#xff0c;这些声明被JWT标准称为claims。JWT标准里面定义的标准claim包括&#xff1a;iss(Issuser)&#xff1a;JWT的签发主体&#xff1b;s…

LeetCode实战:三数之和

题目英文 Given an array nums of n integers, are there elements a, b, c in nums such that a b c 0? Find all unique triplets in the array which gives the sum of zero. Note: The solution set must not contain duplicate triplets. Example: Given array n…

最快下月!地表最强语言模型GPT-4发布在即?CEO暗示:已通过图灵测试

视学算法报道 编辑&#xff1a;Cris【导读】千呼万唤始出来&#xff01;GPT-4&#xff0c;真要来了&#xff1f;作为史上最受期待的AI模型&#xff0c;GPT-4真要来了&#xff1f;这几天&#xff0c;AI分析师罗梅罗的一篇专栏文章&#xff0c;一经推出便迅速「引爆」了整个AI科…