zoukankan      html  css  js  c++  java
  • 202_快乐数_数组_简答

     

     

    package com.bupt;
    
    import java.util.HashSet;
    
    //最重要的理解的内容就是对一个数要吗成为快乐数,要吗进入死循环(试几个数就会发现。),不会出现越来越大的情况
    //通过举例9,99,999可以发现
    public class T202 {
    
        int f(int mul,int n){
            int s = 0;
            while (true){
                s = n%10;
                mul+=s*s;
                n = n/10;
                if(n<1) break;;
            }
            return mul;
        }
        //第一种,暴力
        public boolean isHappy(int n) {
            int mul =0;
            for (int i = 0; i < 100; i++) {
               n = f(mul,n);
               if(n==1) break;
            }
            if(n==1) return true;
            else return  false;
        }
    
        //第二种快慢指针  ,如果是循环的话,快指针会追到满指针
        public boolean isHappy1(int n) {
            int slow = n;
            int fast = f(0,n);
            while (fast!=1 && fast!=slow){
                slow = f(0,slow);
                fast = f(0,f(0,fast));
            }
    
            if(fast==1) return  true;
            else return false;
        }
    
        //第三种hash表记录
        public boolean isHappy2(int n) {
    
            HashSet<Integer> ints = new HashSet<>();
            boolean flag = false;
            while (true){
                n = f(0,n);
                if(ints.contains(n)==true){
                    flag = false;
                    break;
                }else{
                    ints.add(n);
                }
    
                if(n==1)
                {
                    flag = true;
                    break;
                }
            }
    
            return  flag;
        }
    
        public static void main(String[] args) {
            System.out.println(new T202().isHappy2(20));
        }
    }
    作者:你的雷哥
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    【8-21】java学习笔记03
    【每天一点点】
    【8-20】java学习笔记02
    【8-19】java学习笔记01
    【8-18】JS学习01
    【8-17】HTML测试
    Selenium之WebDriverWait
    Selenium之XPATH定位方法
    Fiddler用法
    微服务架构系统的测试
  • 原文地址:https://www.cnblogs.com/henuliulei/p/15294233.html
Copyright © 2011-2022 走看看