LeetCode Happy Number
2015-07-09 00:35
423 查看
Description:
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
Solution:
默认了一个条件:所有的数字,将他的各个位数平方和带入的循环,是一个有限循环。
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
Solution:
默认了一个条件:所有的数字,将他的各个位数平方和带入的循环,是一个有限循环。
import java.util.*; public class Solution { public boolean isHappy(int n) { HashSet<Integer> set = new HashSet<Integer>(); set.add(n); int temp = 0, ones; while (true) { temp = 0; while (n > 0) { ones = n % 10; n /= 10; temp += ones * ones; } n = temp; if (n == 1) return true; if (set.contains(n)) break; set.add(n); } return false; } }
相关文章推荐
- Android 自定义DialogFragment替代popupwindow
- Android项目没提示语法错误却运行不了的问题
- ios NSClassFromString 返回空指针
- iOS 9可以猜测你想打开哪个应用
- 苹果去年推出的iOS8系统增加了小工具
- iOS 8用户不用拿起手机就能唤出Siri
- Quick3.3, CocosIDEV1.2.0调试lua代码
- 企业级移动互联并非把应用搬到移动端这么简单
- Android 动画之TranslateAnimation应用详解
- android中程序的退出和关闭
- android中的surfaceview控件
- iOS OC 异常处理
- Robotium in Android Studio
- IOS查找文件
- android XML布局大全
- iOS:hidesBottomBarWhenPushed的正确用法
- IOS开发基础知识--碎片18
- ios-上架流程
- Android开发者的Git&GitHub(二)
- 《iOS 编程 第四版》——第一、二章学习笔记