leedcode:数组中重复的数字

3.19日:数组中重复的数字

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

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

#时间复杂度O(nlogn),空间复杂度O(1)
class Solution(object):
    def findRepeatNumber(self,nums):
        nums.sort()#排序
        previous = nums[0]
        for index in range(1,len(nums)):
            if previous == nums[index]:
                return previous
            previous = nums[index]
class Solution {
    public int findRepeatNumber(int[] nums) {
        int[] arr = new int[nums.length];
        for(int i = 0; i < nums.length; i++){
            arr[nums[i]]++;
            if(arr[nums[i]] > 1) return nums[i];
        }
        return -1;
    }
}
发布了27 篇原创文章 · 获赞 0 · 访问量 453
App 阅读领勋章
微信扫码 下载APP
阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 深蓝海洋 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览