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.一直往后算,会循环回来到一个之前算过的数,构成一个环。

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

相关推荐
小白程序员成长日记14 小时前
2025.12.03 力扣每日一题
算法·leetcode·职场和发展
元亓亓亓14 小时前
LeetCode热题100--20. 有效的括号--简单
linux·算法·leetcode
熊猫_豆豆14 小时前
LeetCode 49.字母异位组合 C++解法
数据结构·算法·leetcode
ModestCoder_15 小时前
强化学习 Policy 的 Tracking 能力全解析,以Legged_gym为例解说Policy的训练流程
人工智能·算法·自然语言处理·机器人·具身智能
小白程序员成长日记16 小时前
2025.12.02 力扣每日一题
数据结构·算法·leetcode
永远都不秃头的程序员(互关)16 小时前
在vscodeC语言多文件编译实战指南
c语言·数据结构·算法
立志成为大牛的小牛16 小时前
数据结构——五十三、处理冲突的方法——拉链法(王道408)
数据结构·学习·考研·算法
吃着火锅x唱着歌16 小时前
LeetCode 3583.统计特殊三元组
算法·leetcode·职场和发展
FPGA_无线通信16 小时前
OFDM 频偏补偿和相位跟踪(2)
算法·fpga开发
SHOJYS16 小时前
思维难度较大 贪心优化背包 [USACO22DEC] Bribing Friends G
数据结构·算法·深度优先