刷穿力扣005-剑指offer<一>数组——01数组中重复的数字

上次很多同学反馈,说是在leetcode找不到剑指offer的题集了,起初感觉不相信,我上去看了一下,还真是,力扣把剑指offer哪个集合好像给删了找不到了,但是如果去牛客网刷的话必须要购买他们的版权书才能继续做题,不然连题都看不到。

但是好消息是力扣只是删除了剑指offer的集合,里面的75道题并没有删除,力扣依旧可以找到,只是很多同学不知道哪些题才是剑指offer的题,你别找了,直接来跟着我刷吧,老规矩还是每天一道,坚持下去相信有些大学生粉丝暑假还是能找到一份不错的实习的。

当然再多说一嘴哈,有条件的同学可以去买一下牛客的那个版权书在牛客刷,然后直接在我这看解法,当然直接在我这里看题也没有啥问题,因为很多公司面试的做题环境就是牛客(有些学生粉丝不知道),你们可以提前熟悉一下,基本面试题都是我带大家刷的力扣热题100和剑指offer的75道题,建议刷两遍!ps:想找工作实习的同学,文末有面试八股和简历模板

好了废话不多说,直接开始正文:

题目:

image-20240415085817355

语言我还是选Java吧,Java基本上可以覆盖很多粉丝。

刷题一定要注意输入和输出的要求,面试的时候可没人听你解释也没人看你代码,错了就是错了!

他这里要求你输出0或5,也就是这个数组你找到一个重复的输出就好,算法要以结果为导向,你别想着5是重复的0也是重复的那就要把0和5都输出,注意”0和5“与“0或5”是两个概念,你如果多输出了那就是错了!你着想了!只一个就好!!!

分析:

这道题说穿了其实就是找到数组里重复的元素!我就用最简单的方法写吧,时间空间复杂度日后再议!

解题:

首先,标准默认格式是这样:

image-20240415090412250

直接往进写就好:

image-20240415093101105

测试结果:

image-20240415093133057

可复制代码块:

 class Solution {
     public int findRepeatDocument(int[] documents) {
         Set<Integer> hmap = new HashSet<>();
         for(int i = 0;i < documents.length;i++){ 
             if (!hmap.add(documents[i])) // 尝试将当前数字添加到HashSet中
                 return documents[i]; // 如果当前数字已经存在于HashSet中,说明它是重复的,直接返回这个数字
         }
         return -1; // 如果没有找到重复的数字,返回-1
     }
 }

文末福利:

关注公号【猿小馆】,左下角资料模块有Java面试详细资料和简历模板,直接分享网盘链接。

公号里也有我的历史文章和交流分享。

写在最后:希望大家点个赞点个关注,这对up真的很重要,谢谢啦!

ps:赶紧做题去,有不会的直接私我或者公号直接问我,看到就会回复的!做完的评论区打个卡

最重要的话再说一遍:不要光顾着刷数量,最重要的是要会做,面试官不会看你做了多少题目,他看的是你会不会,尤其是要去找实习的朋友,一定注意要会做!要会做!要会做!

  • 10
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

被瞧不起的神

谢谢啦,感谢支持|一起努力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值