LeetCode实战:快乐数
题目英文
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 破解猫眼电影的反爬虫机制?
相关文章:

idea的优秀博客推荐
2019独角兽企业重金招聘Python工程师标准>>> http://blog.csdn.net/qq_27093465/article/details/63683873 http://www.cnblogs.com/whc321/p/5669804.html 转载于:https://my.oschina.net/u/3621360/blog/1528716

花钱参加UI设计培训值得吗?
最近有很多人都想要学习UI设计,大家都比较看好UI设计行业的好前景,高薪资,那么花钱参加UI设计培训值得吗?这是目前很多人都比较关心的问题,下面小编就为大家做下详细的介绍。 花钱参加UI设计培训值得吗?对于零基础或者转行的人…

零基础自学用Python 3开发网络爬虫(一)
原文出处: Jecvay Notes (Jecvay) 由于本学期好多神都选了Cisco网络课, 而我这等弱渣没选, 去蹭了一节发现讲的内容虽然我不懂但是还是无爱. 我想既然都本科就出来工作还是按照自己爱好来点技能吧, 于是我就不去了. 一个人在宿舍没有点计划…

用什么心态对待水平糟糕的程序员[不靠谱的程序员、思路紊乱的程序员]?
这些年遇到了很多糟糕的程序员,其实真正是写程序料的人,普通IT公司大概只占1/3左右吧,其实有2/3的人都太适合当程序员,还不如早点儿改行该干啥就干啥了,其中有1/10的人往往是相对比较糟糕的。 01:招聘时&am…

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…

女生做软件测试需要学习什么技术?
软件测试在近几年的发展前景是非常好的,加上软件测试对于想要零转型的学员来说是在合适不过的,有很多女性也开始学习软件测试,目前大家都比较关心女生做软件测试需要学习什么技术呢?下面我们就来看看详细的介绍。 女生做软件测试需要学习什么…

一、Axis2 WebService开发准备工作
上次介绍了axis1.x的用法,这次继续上次的,将叙述axis2的用法。 Axis1.x在线博文:http://www.cnblogs.com/hoojo/archive/2010/12/20/1911349.html 1、开发准备 首先需要下载axis2的相关jar包,到axis的官方网站即可获得开发的依赖包…

LeetCode实战:求众数
题目英文 Given an array of size n, find the majority element. The majority element is the element that appears more than ⌊ n/2 ⌋ times. You may assume that the array is non-empty and the majority element always exist in the array. Example 1: Input: […

oracle数据库导入导出
2019独角兽企业重金招聘Python工程师标准>>> 1、利用 sqlplus 登录数据库之后 键入: 文件名 全路径 即可执行*.sql 文件 例 假设有一个 test.sql 文件 所在路径是/home/oracle/ 现在要执行它 1 登录数据库 sqlplus system/m…

学习Python编程开发可以从事的岗位有哪些?
Python编程技术在人工智能领域的发展有目共睹,很多人都想学习Python技术,而且从事Python开发,所从事的工作机会和工作岗位及工作内容可选择的余地很多,未来发展空间也很大。下面我们就来详细的了解一下学习Python编程开发可以从事…

2010前半年
一直都想抽时间写些什么,但都是由于自己的懒惰,使得自己很少静下心来。 2010平淡的一年就这样在指缝中悄悄溜走了,我甚至都还没来得及仔细回味以往发生的一些事情,2011就已经过了好几个月。2010总体来说很平淡,我也没有…

LeetCode实战:缺失的第一个正数
题目英文 Given an unsorted integer array, find the smallest missing positive integer. Example 1: Input: [1,2,0] Output: 3Example 2: Input: [3,4,-1,1] Output: 2Example 3: Input: [7,8,9,11,12] Output: 1Note: Your algorithm should run in O(n) time and u…

ubuntu 下mysql导入出.sql文件
2019独角兽企业重金招聘Python工程师标准>>> 1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u wcnc -p waf> /home/waf.sql 2.导出一个表 mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名 mysqldump -u wcnc -p waf u…

UI设计师培训入门都需要学习什么技术?
UI设计在如今的IT行业是非常火热的,它的发展前景是非常可观的,想要进入到这个行业的小伙伴越来越多,那么UI设计师培训入门都需要学习什么技术呢?小编下面为大家做下详细的介绍。 UI设计师培训入门都需要学习什么技术? 一、视觉设计基础&…

[C#1] 9-委托
委托揭秘 编译器和CLR在后台做了很多工作来隐藏委托本身的复杂性,如下一句委托声明: //编译器为我们产生了一个同名的类 public delegate void MyDelegate(int i); 看看IL: 可以看出它默认继承自System.MulticastDelegate[所有委托都继承此类,…
LeetCode实战:环形链表
题目英文 Given a linked list, determine if it has a cycle in it. To represent a cycle in the given linked list, we use an integer pos which represents the position (0-indexed) in the linked list where tail connects to. If pos is -1, then there is no cycl…

Symbian开发系列 - 入门篇
要开始我的Symbian开发之旅了, 先收集一些相关资料,如Symbian概述, 开发平台搭建, 参考书籍与网络资源. 【基础】 什么是Symbian学习Symbian的基本概念 Symbian操作系统 Symbian 入门 【转】symbian操作系统 入门篇 symbian 术语表 S60/Symbian应用程序常用架构/框架S60十大优秀…

软件性能测试主要看什么指标
性能测试不同于功能测试,功能测试只要求软件的功能实现即可,而性能测试是测试软件功能的执行效率是否达到要求。例如某个软件具备查询功能,功能测试只测试查询功能是否实现,而性能测试却要求查询功能足够准确、足够快速。但是&…

LeetCode实战:合并K个排序链表
题目英文 Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity. Example: Input: [1->4->5,1->3->4,2->6 ] Output: 1->1->2->3->4->4->5->6题目中文 合并 k 个排序链表,…

4月《程序员》上我讲HTML5的文章---激动人心的HTML5之美
这篇文章分为四个方面介绍了激动人心的HTML5之美: 语义之美人性之美简单之美实用之美欢迎大家阅读。转载于:https://www.cnblogs.com/android-html5/archive/2011/04/08/2533758.html

Golang中Buffer高效拼接字符串以及自定义线程安全Buffer
本文原创文章,转载注明出处,博客地址 https://segmentfault.com/u/to... 第一时间看后续精彩文章。觉得好的话,顺手分享到朋友圈吧,感谢支持。Go中可以使用“”合并字符串,但是这种合并方式效率非常低,每合并一次,都是创建一个新的字符串,就必…

Python培训之就业面试题分享
近几年,学习Python编程的人越来越多,大家对于Python编程技术非常感兴趣,想要转型到这个行业,下面小编为大家整理一份Python找工作的面试题分享,希望能够帮助正在找Python工作的小伙们。 Python培训之就业面试题分享&am…

IHttpHandler 概述
IHttpHandler 概述可能和我一样,很多Asp.Net开发人员都有过Asp的背景,以至于我们在开发程序的时候,通常都是在“页面级”上思考,也就是说我们现在正在做的这个页面应该有什么样的功能,是进行一个问卷调查还是一个数据库…

LeetCode实战:有效的括号
题目英文 Given a string containing just the characters ‘(’, ‘)’, ‘{’, ‘}’, ‘[’ and ‘]’, determine if the input string is valid. An input string is valid if: Open brackets must be closed by the same type of brackets.Open brackets must be clos…

linux下的vi与vim
vi与vimvi编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器。他是我们使用Linux系统不能缺少的工具。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的ÿ…

零基础该如何学习Web前端知识?
想要跳槽到IT行业人在近几年越来越多,大部分都是想要学习web前端技术,但是这其中有很多都是零基础学员,大家都想知道零基础该如何学习Web前端知识?我们来看看下面的详细介绍。 零基础该如何学习Web前端知识? 1、Web前端学习步骤 (1)HTML标签…

刻意练习:Python基础 -- Task05. 函数与Lambda表达式
背景 我们准备利用17天时间,将 “Python基础的刻意练习” 分为如下任务: Task01:变量、运算符与数据类型(1day)Task02:条件与循环(1day)Task03:列表与元组(…
PHP 实现无限分类
最近打算做一个blog,通常每篇文章都有属于自己的分类。下面就记录下我在写blog时实现无限分类的过程。php框架用的是laravel,根据注释也能轻松改成你习惯的框架。 数据表设计 CREATE TABLE article_category (id int(10) unsigned NOT NULL AUTO_INCREMENT,pid int(…

软件测试培训怎么学?有没有发展前景?
软件测试是最近几年广受大家关注的一个编程技术,软件测试的出现也是因软件的存在而存在的,目前很多人都想知道软件测试培训怎么学?有没有发展前景?我们来看看下面的详细介绍。 软件测试需要学测试环境(网络环境,windows环境等)、数据库管理…

LeetCode实战:最长有效括号
题目英文 Given a string containing just the characters ‘(’ and ‘)’, find the length of the longest valid (well-formed) parentheses substring. Example 1: Input: "(()" Output: 2 Explanation: The longest valid parentheses substring is "(…