【leetcode】Happy Number
2015-07-05 13:38
232 查看
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: 19 is a happy number
12 + 92 = 82
82 + 22 = 68
62 + 82 = 100
12 + 02 + 02 = 1
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: 19 is a happy number
12 + 92 = 82
82 + 22 = 68
62 + 82 = 100
12 + 02 + 02 = 1
import java.util.HashSet; import java.util.Set; class Solution { public static boolean isHappy(int n) { if (n < 1) { return false; } if (n == 1) { return true; } Set<Integer> showNums = new HashSet<Integer>(); showNums.add(n); while (true) { int sum = 0; while (n != 0) { int oneDigital = n % 10; n = n / 10; sum = sum + oneDigital * oneDigital; } if (sum == 1) { return true; } else { if (showNums.contains(sum)) { return false; } else { showNums.add(sum); } } n = sum; } } }
相关文章推荐
- SimpleWeather APP
- [Unity-25] Unity中让游戏对象消失或隐藏的几种方法
- cocos2d-x 显示触摸操作(单击显示效果浪潮,对于视频演示)-绩效转型
- Cocos2d-x学习笔记(1)
- 让字符串中的某一个数字改变
- ios项目(六)
- Android之使用adb wireless进行调试
- Android NDK编程浅入深出之--Android.mk
- Android中ViewHolder模式开发的详细解释
- 1.cocos2dx 3.2环境结构
- iOS多线程编程之NSOperation
- Android入门(9)——Android App签名打包
- [Android]java.io.FileNotFoundException: open failed: EACCES (Permission denied)
- Unity 3D酷跑类游戏场景循环
- iOS多线程编程之NSThread
- Ubuntu14环境下minigui安装问题记录--object.lo错误
- unity, Destroy注意事项
- Android 中的 ViewPager+ Fragment
- Android进程与线程区别
- iOS系类教程之用instruments来检验你的app