【leetcode刷题】24.数组中重复的数字——Java版

简介: ⭐欢迎订阅《leetcode》专栏,每日一题,每天进步⭐这道题在原书上绝对不是简单级别啊!它考察的是程序员的沟通能力,先问面试官要时间/空间需求!!!只是时间优先就用字典,还有空间要求,就用指针+原地排序数组,如果面试官要求空间O(1)并且不能修改原数组,还得写成二分法!!!——leetcode此题热评————————————————版权声明:本文为CSDN博主「一条coding」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/skylibiao/article/details/119

7b6b0b32d09cb6c250cdb614723073a0.png4cdfe78cf4b23f350d82ed40a8a625ab.png

前言

哈喽,大家好,我是一条。


糊涂算法,难得糊涂


今天做一道剑指offer的题。


Question

剑指 Offer 03. 数组中重复的数字

难度:简单


找出数组中重复的数字。


在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。


示例 1:

输入:
[2, 3, 1, 0, 2, 5, 3]
输出:2 或 3 

限制:


2 <= n <= 100000


Solution

做了这么多题,这题应该算是比较简单了


但是又不简单,就像评论说的,我们面试的时候,一定要问好时间和空间的要求


新建一个hashset

依次加入数组元素,加入失败,就将该数字返回,并终止循环。

Code

所有leetcode代码已同步至github


欢迎star

/**
 * @author yitiaoIT
 */
class Solution {
    public int findRepeatNumber(int[] nums) {
        Set<Integer> set = new HashSet<>();
        for(int n : nums) {
            if(!set.add(n)){
              return n;
            } 
        }
        return -1;
    }
}

Result

复杂度分析

  • 时间复杂度:O(N)

4e69e3159e4a81f4a9bb33e32a0ea705.png

🌈寻宝

⭐今天是坚持刷题更文的第24/100天


⭐各位的点赞、关注、收藏4、评论、订阅就是一条创作的最大动力


⭐更多算法题欢迎关注专栏《leetcode》


为了回馈各位粉丝,礼尚往来,给大家准备了一条多年积累下来的优质资源,包括 学习视频、面试资料、珍藏电子书等


怎么领取请大家自己找,寻宝游戏现在开始。


找不到可以评论留言,一条就会注意到你。


如果还不行,请私信我。


相关文章
|
1天前
|
搜索推荐 算法 Java
滚雪球学Java(29):数组长度和排序算法:让你的程序更高效
【5月更文挑战第4天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
10 0
滚雪球学Java(29):数组长度和排序算法:让你的程序更高效
|
1天前
|
存储 Java
滚雪球学Java(28):轻松掌握数组:访问和遍历技巧
【5月更文挑战第3天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
11 2
滚雪球学Java(28):轻松掌握数组:访问和遍历技巧
|
1天前
|
存储 Java ice
【Java开发指南 | 第十六篇】Java数组及Arrays类
【Java开发指南 | 第十六篇】Java数组及Arrays类
9 3
|
1天前
|
存储 算法 搜索推荐
滚雪球学Java(27):从零开始学习数组:定义和初始化
【5月更文挑战第2天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
9 3
|
1天前
|
Java 索引
Java中数组详解
Java中数组详解
45 19
|
1天前
|
Java
解析java中的数组
解析java中的数组
13 3
|
1天前
|
算法
leetcode代码记录(寻找两个正序数组的中位数
leetcode代码记录(寻找两个正序数组的中位数
12 2
|
1天前
|
索引
leetcode代码记录(最长重复子数组
leetcode代码记录(最长重复子数组
10 0
|
1天前
leetcode代码记录(两个数组的交集
leetcode代码记录(两个数组的交集
9 1
|
1天前
leetcode代码记录(最大子数组和
leetcode代码记录(最大子数组和
10 2

热门文章

最新文章