题目链接:https://leetcode.com/problems/happy-number/

题目理解:实现isHappy函数,判断一个正整数是否为happy数

  happy数:计算要判断的数的每一位的平方和,平方和为1则为happy数,不为1则将原数替换为此平方和,继续上述步骤,直到等于1(为happy数),或者进入不包含1的无限循环(非happy数)。

  测试用例:19为happy数:

解题思路:

定义set集合存每次计算得到的需判断数n,循环计算新的原数n,终止条件为n等于1或者set中出现重复的数字。循环体:将n插入到set中,循环取n的每一位计算其平方和,并将n等于这个平方和。最后循环结束,如果n等于1,则原数为happy数,否则不是。

代码:

 1 class Solution {
 2 public:
 3     bool isHappy(int n) {
 4     set<int> result;
 5     int re = 0;
 6     while(n!=1&&!result.count(n)){
 7        result.insert(n);
 8        re = 0;
 9         while(n){
10             int a = n%10;
11             re+=a*a;
12             n = n/10;
13         }
14         n = re;
15     }
16     if(n==1) return true;
17     else return false;
18     }
19 };

View Code

卡住的点:

  1. 判断是否出现不为1的死循环,需要记录每次的原数,循环终止条件为原数为1,或者原数在记录的集合中已存在,即出现重复。
  2. 现写的代码结构中,将原数n插入到集合中,这步应在while循环刚进入时插入,不能在循环体最后插入。

转载于:https://www.cnblogs.com/shuyingsoaring/p/5367647.html

LeetCode OJ -Happy Number相关推荐

  1. LeetCode OJ 之 Number of 1 Bits (二进制位1的个数)

    题目: Write a function that takes an unsigned integer and returns the number of '1' bits it has (also ...

  2. LeetCode OJ -- Binary Tree Paths

    http://blog.ubooksapp.com/ 标签(空格分隔): LeetCode OJ BinaryTree Given a binary tree, return all root-to- ...

  3. LeetCode:Largest Number - 求整型数组中各元素可拼合成的最大数字

    2019独角兽企业重金招聘Python工程师标准>>> 1.题目名称 Largest Number(求整型数组中各元素可拼合成的最大数字) 2.题目地址 https://leetco ...

  4. 【整数转字符串】LeetCode 9. Palindrome Number

    LeetCode 9. Palindrome Number Solution1: 不利用字符串 class Solution { public:bool isPalindrome(int x) {if ...

  5. 【To Do! 重点 正则表达式】LeetCode 65. Valid Number

    LeetCode 65. Valid Number 本博客转载自:[1]http://www.cnblogs.com/yuzhangcmu/p/4060348.html [2]https://blog ...

  6. 【回文串2】LeetCode 9. Palindrome Number

    LeetCode 9. Palindrome Number Solution1:我的答案 思路一:转化为字符串 class Solution { public:bool isPalindrome(in ...

  7. 【?异或】LeetCode 260. Single Number III

    LeetCode 260. Single Number III Solution1: 博客转载自:http://www.cnblogs.com/grandyang/p/4741122.html 这道题 ...

  8. 【异或】LeetCode 137. Single Number II

    LeetCode 137. Single Number II Solution1:不会做,抄的 博客转载自:http://www.cnblogs.com/grandyang/p/4263927.htm ...

  9. 【异或】LeetCode 136. Single Number

    LeetCode 136. Single Number Solution1:我的答案 还好异或的性质没记错,还好,还好 class Solution { public:int singleNumber ...

最新文章

  1. Word论文写作如何实现公式居中、编号右对齐
  2. ABAP-DOI技术的优化
  3. 《社会智能与综合集成系统》第1章1.节参考文献
  4. 二进制转十进制-栈的方式实现
  5. java字符排序规则_java 重写排序规则,用于代码层级排序
  6. Docker Inspect
  7. VS2015配置环境支持opencv3库(网络方法总结)
  8. 魅族16s Pro细节曝光:骁龙855plus 未上Flyme 8
  9. eclipse maven项目 class类部署不到tomcat下_Springboot介绍以及用Eclipse搭建一个简单的Springboot项目教程
  10. C++ 可变索引模板 和 template template
  11. Python3入门机器学习经典算法与应用 第3章 Jupyter Notebook魔法命令%run,%timeit
  12. 【TWVRP】基于matlab遗传算法求解送货且带时间窗的车辆路径规划问题【含Matlab源码 1074期】
  13. postman下载excel出现乱码
  14. 1.2 微信小程序开发-用户登录页面设计
  15. 虚拟机ubuntu的联网方法(NET)
  16. Excel中使用条件格式(比较两列将内容不同用颜色标识)
  17. Gerry-自定义报表组件
  18. 201871010134-周英杰《面向对象程序设计(Java)》第四周学习总结
  19. 黑客因网文作者写太烂盗其账号,帮改文更新修防火墙,网友:大佬能看看我的论文吗?...
  20. 华芯微特SWM320TFT屏人机交互方案手册

热门文章

  1. 关于数据集 使用PutCollect后m_Recordset-Update();数据集更新报错的问题
  2. boostrap 鼠标滚轮滑动图片_BootStrap 轮播插件(carousel)支持左右手势滑动的方法(三种)...
  3. 大专学完出来学计算机,浙江2021年计算机学校读出来是什么文凭
  4. mina android 服务器,MINA框架----------android客户端与服务器端
  5. python工具安装教程_Python 开发工具PyCharm安装教程图文详解(新手必看)
  6. 031_mysql事务的安全隐患
  7. 036_jQuery Ajax全局回调函数
  8. mysql语句中事务可靠性_MySql的事务使用与示例详解
  9. keras cnn注意力机制_TensorFlow、PyTorch、Keras:NLP框架哪家强
  10. JavaWeb:JDBC之事务