discuz做商城网站,青岛的设计公司,微信小程序开发注意事项,免费商用的网站模板202快乐数 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为#xff1a; 对于一个正整数#xff0c;每一次将该数替换为它每个位置上的数字的平方和。 然后重复这个过程直到这个数变为 1#xff0c;也可能是 无限循环 但始终变不到 1。 如果这个过程 结果为 1 对于一个正整数每一次将该数替换为它每个位置上的数字的平方和。 然后重复这个过程直到这个数变为 1也可能是 无限循环 但始终变不到 1。 如果这个过程 结果为 1那么这个数就是快乐数。 如果 n 是 快乐数 就返回 true 不是则返回 false 。 示例 1 输入n 19 输出true 解释 12 92 82 82 22 68 62 82 100 12 02 02 1 示例 2 输入n 2 输出false 提示 1 n 231 - 1 思路
题目中说*“重复这个过程直到这个数变为 1也可能是 无限循环”*
如果判断一个数字是否已经出现无限循环那么先考虑HashSet
定义一个私有方法getnextNumber()对n进行处理
在isHappy方法中如果跳出循环时n 1那么成立是快乐数。
class Solution {public boolean isHappy(int n) {//定义一个整数类型HashSet命名为recordSetInteger record new HashSet();//当n不等于1 且 record中不包含n时while (n ! 1 !record.contains(n)) {//record集合加入nrecord.add(n);//调用class Solution中的getNextNumber私有方法得到新的nn getNextNumber(n);//当新的n等于1或者record集合中已经存在n时跳出循环}//如果n等于1那么返回1return n 1;}//私有方法//通过对n的各个位上的数字进行平方求和的操作得到下一个数private int getNextNumber(int n){int res 0;while (n 0) {int temp n % 10;res temp * temp;n n / 10;}return res;}
}在Java中有公有方法public methods和私有方法private methods的概念。 公有方法public methods是在类中声明的可以被外部代码访问和调用的方法。它们可以被其他类或对象直接调用。公有方法通常用于提供类的功能接口允许其他代码与类进行交互。在代码中公有方法使用关键字 public 进行修饰。 私有方法private methods是在类中声明的只能在类内部访问和调用的方法。它们不能被其他类或对象直接调用。私有方法通常用于内部实现细节和辅助功能用于帮助公有方法完成任务。在代码中私有方法使用关键字 private 进行修饰。 公有方法和私有方法的主要区别在于访问权限和可见性范围。*公有方法可以被外部代码访问是类与外部世界交互的接口。*私有方法只能在类内部使用对外部代码不可见用于封装实现细节和辅助功能。
在以上代码中isHappy(int n) 是一个公有方法可以被其他类或对象调用。getNextNumber(int n) 是一个私有方法只能在类内部被其他方法调用。