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;
    }
}
相关推荐
nice_lcj5205 小时前
LRU 缓存入门:它是什么、怎么用、面试怎么手写
java·数据结构·缓存·面试·lru
聪明的笨猪猪20 小时前
企业知识库AI架构选型:落地导向的架构决策与组件清单
经验分享·面试·架构·embedding·数据库架构
lsc_blog1 天前
听到优化风声,先准备能由自己掌控的事
数据库·分布式·中间件·职场和发展·重构
stormzhangV2 天前
涨薪 50% 怎么做到的?
人工智能·面试·aigc
聪明的笨猪猪2 天前
Java 工程案例:AI 生成 @Async 异步线程池踩坑
java·经验分享·面试·ai编程
李剑一2 天前
别再抬杠,前端岗已经没了!无论前后端,我们最终都要成“全干”工程师
前端·面试
Yuzhiyuxia2 天前
【AI Agent面试系列】AI Agent可观测、评测、安全相关的知识点
人工智能·安全·面试
Pniubi2 天前
力扣76.最小覆盖子串
算法·leetcode·职场和发展
鸿蒙开发爱好者2 天前
下班后做的小工具和小游戏,我把它们整理成了 WyanHub
网络·人工智能·职场和发展·个人开发