1. 程式人生 > >202. Happy Number

202. Happy Number

creat port scrip http mar markdown mark ava main

原題鏈接:https://leetcode.com/problems/happy-number/description/
實現如下:

import java.util.HashSet;

/**
 * Created by clearbug on 2018/2/26.
 */
public class Solution {

    public static void main(String[] args) {
        Solution s = new Solution();
        System.out.println(s.isHappy(1));
        System.out.println
(s.isHappy(2)); System.out.println(s.isHappy(19)); } /** * 方法一:這道題目沒看出啥太大的規律性,只簡單的發現只要 n % 10 == 0 時,那麽便是返回 true 的時候了;同時為了防止無限循環,必須用 * 一個數組來存儲處理過的數值,若出現循環了則返回 false; * * @param n * @return */ public boolean isHappy(int n) { HashSet<Integer> set = new
HashSet<>(); while (set.add(n)) { if (n == 1) { return true; } n = nextN(n); } return false; } private int nextN(int n) { int res = 0; while (n >= 10) { int remainder = n % 10; res += remainder * remainder; n /= 10
; } if (n > 0) { res += n * n; } return res; } }

202. Happy Number