202. 快乐数

java 复制代码
class Solution {
    public boolean isHappy(int n) {
        int index1 = n;
        int index2 = n;
        while(true){
            index1 = sum(index1);
            index2 = sum(sum(index2));
            if(index1==1 || index2==1)
                return true;
            if(index1 == index2)
                return false;  
        }
    }

    public int sum(int n){
        int ans = 0;
        while(n!=0){
            ans += (n%10)*(n%10);
            n = n/10;
        }
        return ans;
    }
}

快乐数,一点都不快乐

要点:

只有两种情况

1.一直往后算,直到算到1。

2.一直往后算,会循环回来到一个之前算过的数,构成一个环。

一般会想是否会一直加到一个非常大的数字,是不会的(证明麻烦,记住就好)
验证是否有环用快慢指针。

相关推荐
软件算法开发1 分钟前
基于蘑菇繁殖优化的LSTM深度学习网络模型(MRO-LSTM)的一维时间序列预测算法matlab仿真
深度学习·算法·matlab·lstm·时间序列预测·蘑菇繁殖优化·mro-lstm
雪花desu2 分钟前
【Hot100-Java中等】LeetCode 11. 盛最多水的容器:双指针法的直观理解与数学证明
算法·leetcode
POLITE34 分钟前
Leetcode 438. 找到字符串中所有字母异位词 JavaScript (Day 4)
javascript·算法·leetcode
海绵宝龙8 分钟前
Vue 中的 Diff 算法
前端·vue.js·算法
wadesir24 分钟前
高效计算欧拉函数(Rust语言实现详解)
开发语言·算法·rust
aini_lovee24 分钟前
基于扩展的增量流形学习算法IMM-ISOMAP的方案
算法
white-persist30 分钟前
【内网运维】Netsh 全体系 + Windows 系统专属命令行指令大全
运维·数据结构·windows·python·算法·安全·正则表达式
TechNomad40 分钟前
哈希表的原理详解
数据结构·哈希算法
超自然祈祷1 小时前
数据结构入门:图的基本操作、算法与 C++ 实现
算法·图搜索算法
蒙奇D索大1 小时前
【数据结构】排序算法精讲 | 快速排序全解:高效实现、性能评估、实战剖析
数据结构·笔记·学习·考研·算法·排序算法·改行学it