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;
    }
}
相关推荐
Ws_8 分钟前
C# 桌面端开发工程师面试题 + 参考答案
开发语言·面试·c#
黄啊码18 分钟前
【黄啊码】拉勾倒了,但你的简历早就不该在招聘软件上了
人工智能·面试
Aphasia31135 分钟前
Vite配置代理和后端服务器CORS
面试
触底反弹35 分钟前
dom操作这篇文章就够了
javascript·面试
AI人工智能+电脑小能手1 小时前
【大白话说Java面试题 第86题】【Mysql篇】第16题:MySQL 中锁的种类与行锁实现原理?
java·开发语言·数据库·mysql·面试
我爱cope1 小时前
【Agent智能体14 | 工具使用-如何创建工具】
人工智能·语言模型·职场和发展
AI人工智能+电脑小能手2 小时前
【大白话说Java面试题 第85题】【Mysql篇】第15题:MySQL 的事务中,幻读是怎么解决的?
java·开发语言·数据库·mysql·面试
Byron__2 小时前
数据库高频面试核心知识点
数据库·面试
小欣加油2 小时前
leetcode2126 摧毁小行星
数据结构·c++·算法·leetcode·职场和发展
菜菜的顾清寒2 小时前
力扣HOT100(45) 二叉树的直径
算法·leetcode·职场和发展