当前位置: 首页 > news >正文

LeetCode 202. 快乐数 java题解

https://leetcode.cn/problems/happy-number/description/
哈希表

class Solution {
    public boolean isHappy(int n) {
        if(n==1) return true;
        HashSet<Integer> set=new HashSet<>();
        while(n!=1&&!(set.contains(n))){//没找到结果;没有重复出现过
            set.add(n);//把这个数加到集合,也就是最初的数如果不是1也被加到集合了
            int sum=count(n);//计算平方和
            n=sum;//作为下一个数
        }  
        return n==1;//n=1说明找到了
    }
    //计算数字的平方和
    public int count(int n){
        int sum=0;
        while(n!=0){
            sum+=(n%10)*(n%10);//最后一位数的平方
            n=n/10;
        }
        return sum;
    }
}
/*
在过程中,如果有算出的数重复出现,
那么每次出现这个数之后就是相同的过程循环,找不到答案了
*/

相关文章:

  • 【HTML学习笔记基础篇】
  • elpis全栈课程学习之elpis-core学习总结
  • Virtual Box虚拟机安装Mac苹果Monterey和big sur版本实践
  • UI设计——新拟态手机主题锁屏设计分享
  • vmware安装firepower ftd和fmc
  • 计算机毕业设计SpringBoot+Vue.js网上摄影工作室管理系统(源码+文档+PPT+讲解)
  • vector 面试点总结
  • 【Python机器学习】1.2. 线性回归理论:一元线性回归、最小化平方误差和公式(SSE)、梯度下降法
  • C++ 类和对象(上)
  • 使用 REINFORCE 算法强化梯度策略
  • AcWing 蛋糕游戏
  • CSS3(媒体查询、媒体类型、媒体特性、媒体运算符、BFC)
  • Pytest之parametrize参数化
  • 如何使用Spring Boot框架整合Redis:超详细案例教程
  • Java数据结构第十六期:走进二叉树的奇妙世界(五)
  • DeepSeek MLA(Multi-Head Latent Attention)算法浅析
  • Qt的坐标
  • TrustRAG:通过配置化模块化的检索增强生成(RAG)框架提高生成结果的可靠性和可追溯性
  • Redis - 高可用实现方案解析:主从复制与哨兵监控
  • drawDB:一款免费数据库设计工具
  • 特朗普公开“怼”库克:苹果不应在印度生产手机
  • 最高检公布一起离婚纠纷典型案例:推动离婚经济补偿制度落实
  • 视频丨中国海警成功救助8名外籍遇险渔民,韩方向中方致谢
  • 现场丨在胡适施蛰存等手札与文献间,再读百年光华
  • 人民日报民生观:转人工客服,怎么这么难?
  • 马上评|安排见义勇为学生补考,善意与善意的双向奔赴