day24(12.4)——leetcode面试经典150

202. 快乐数

202. 快乐数

这总感觉就是找规律的题!

题目:

题解:

java 复制代码
class Solution {
    public boolean isHappy(int n) {
        //这里要多用几个数去试,就能发现规律了
        //规律就是如果不能循环得到1的数一定会进行循环,进入死循环
        //只需要将每次都得到的数放入map中进行纪律,一旦得到的数出现过就return false
        //如果得到1就直接返回true
        int x=n;
        Map<Integer,Integer> map = new HashMap<>();
        while(true) {
            map.put(x,1);
            if(x==1) {
                return true;
            }
            int sum=0;
            while(x>0) {
                int g = x%10;
                sum+=g*g;
                x/=10;
            }
            x=sum;
            if(map.containsKey(x)) {
                break;
            }
        }
        return false;
    }
}

219. 存在重复元素 II

219. 存在重复元素Ⅱ

不是这题跟1. 两数之和做法几乎一模一样,秒了,很快就写完了,到了这一章才发现map这么好用!!!

题目:

题解:

java 复制代码
class Solution {
    public boolean containsNearbyDuplicate(int[] nums, int k) {
        Map<Integer,Integer> map=new HashMap<>();
        for(int i=0;i<nums.length;i++) {
            if(map.containsKey(nums[i])&&Math.abs(map.get(nums[i])-i)<=k) {
                return true;
            }
            map.put(nums[i],i);
        }
        return false;
    }
}
相关推荐
To_OC6 小时前
面试被问了三回三栏布局,这次我终于把 BFC 那层窗户纸捅破了
前端·css·面试
城管不管6 小时前
重生——第十一次面试之挖财一面2026.8.19已OC
java·服务器·jvm·数据库·spring·面试·职场和发展
码匠许师傅6 小时前
【C++ 面试真题】26. 聊聊 C++ 的智能指针
java·c++·面试
To_OC6 小时前
啃完 TS 工具类型我发现:Pick 和 Omit 原来就是一层窗户纸
前端·面试·typescript
重生之后端学习9 小时前
283. 移动零[简单]✅
开发语言·数据结构·算法·leetcode·职场和发展
ITmaster073112 小时前
天天 AI Coding 的你,如果出去面试,你的竞争力是什么?
人工智能·面试·职场和发展
HY小宝F13 小时前
树莓派 FFmpeg 实战笔记(二):命令行、源码编译与硬件编码的真相
学习·职场和发展·ffmpeg
程序员三藏14 小时前
浅谈性能测试
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·性能测试
2601_9672642819 小时前
React教程全家桶实战redux+antd+React Hooks前端js视频,2025徐老师React18&19课程含项目实战(完结)
职场和发展