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;
    }
}
相关推荐
一匹电信狗1 天前
【LeetCode_547_990】并查集的应用——省份数量 + 等式方程的可满足性
c++·算法·leetcode·职场和发展·stl
编程彩机1 天前
互联网大厂Java面试:从Java SE到大数据场景的技术深度解析
java·大数据·spring boot·面试·spark·java se·互联网大厂
岁岁种桃花儿1 天前
SpringCloud超高质量面试高频题300道题
spring·spring cloud·面试
努力学算法的蒟蒻1 天前
day75(2.3)——leetcode面试经典150
面试·职场和发展
觉醒大王1 天前
硕士/博士研究生避坑指南
笔记·深度学习·学习·自然语言处理·职场和发展·学习方法
南风知我意9571 天前
【前端面试3】初中级难度
前端·javascript·面试
华清远见成都中心1 天前
GPIO(通用输入输出)面试中高频问题
单片机·面试·职场和发展
沧澜sincerely2 天前
蓝桥杯算法练习
算法·职场和发展·蓝桥杯
蒹葭玉树2 天前
【C++上岸】C++常见面试题目--操作系统篇(第三十期)
c++·面试·risc-v
cyforkk2 天前
16、Java 基础硬核复习:网络编程的核心逻辑与面试考点
java·网络·面试