• 快慢指针遍历 —— 202_快乐数


    2. 202_快乐数
    /*
    编写一个算法来判断一个数 n 是不是快乐数。
    「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果 可以变为  1,那么这个数就是快乐数。
    如果 n 是快乐数就返回 True ;不是,则返回 False 。
    */
    class Solution {
        public boolean isHappy(int n) {
            int fast = n;
            int slow = n;
            do{
                slow = squareSum(slow);
                fast = squareSum(fast);
                fast = squareSum(fast);
            }while(slow!=fast)
            if(fast == 1) return true;
            else return false;
        }
        private int squareSum(int n){
            int sum = 0;
            while(n > 0){
                sum += Math.pow(n%10,2);
                n /= 10;
            }
            return sum;
        }    
    }
    
  • 相关阅读:
    windows 程序设计的一些总结
    Ubuntu 16.04 LTS 安装开发工具
    C++ 虚函数表
    day 14 函数的嵌套,作用域
    命名空间(名称空间)
    day15编码
    day16迭代器
    day5
    day4
    day3
  • 原文地址:https://www.cnblogs.com/s841844054/p/13736387.html
Copyright © 2020-2023  润新知