zoukankan      html  css  js  c++  java
  • 202. Happy Number【leetcode】java,hashSet,算法

    202. Happy Number


    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

    题意:

    写一个算法来判断一个数字是否“快乐”。
    一个愉快的数字是由下面的过程定义的一个数字:从任何正整数开始,用它的数字的平方代替数字,重复这个过程直到数字等于1(它将停留在哪里),或者在一个不包括1的循环中循环。这个过程以1结尾的数字是快乐数字。
    例子:19是一个快乐的数字。

     1 public class Solution {
     2     private int getHappyNumber(int n){
     3         int sum=0;
     4         while(n!=0){
     5             sum+=(n%10)*(n%10);
     6             n=n/10;
     7         }
     8         return sum;
     9     }
    10     public boolean isHappy(int n) {
    11         HashSet<Integer> hash=new HashSet<Integer>();
    12         while(n!=1){
    13             if(hash.contains(n))
    14                 return false;
    15             else{
    16                 hash.add(n);
    17                 n=getHappyNumber(n);
    18             }
    19         }
    20         return true;
    21     }
    22 }
    不积跬步无以至千里,千里之堤毁于蚁穴。 你是点滴积累成就你,你的丝丝懒惰毁掉你。 与诸君共勉
  • 相关阅读:
    设计模式之工厂模式-抽象工厂(02)
    1036 跟奥巴马一起编程 (15 分)
    1034 有理数四则运算 (20 分)
    1033 旧键盘打字 (20 分)
    1031 查验身份证 (15 分)
    大学排名定向爬虫
    1030 完美数列 (25 分)二分
    1029 旧键盘 (20 分)
    1028 人口普查 (20 分)
    1026 程序运行时间 (15 分)四舍五入
  • 原文地址:https://www.cnblogs.com/haoHaoStudyShare/p/7384628.html
Copyright © 2011-2022 走看看