前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数组中的重复数字

数组中的重复数字

原创
作者头像
用户9955628
发布2022-08-22 15:22:14
1.4K0
发布2022-08-22 15:22:14
举报
文章被收录于专栏:python3基础算法
代码语言:javascript
复制
"""
描述
在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组[2,3,1,0,2,5,3],那么对应的输出是2或者3。存在不合法的输入的话输出-1

数据范围:0\le n \le 10000 \0≤n≤10000
进阶:时间复杂度O(n)\O(n) ,空间复杂度O(n)\O(n)
示例1
输入:
[2,3,1,0,2,5,3]
复制
返回值:
2
复制
说明:
2或3都是对的
数据范围:0\le n \le 10000 \0≤n≤10000
进阶:时间复杂度O(n)\O(n) ,空间复杂度O(n)\O(n)
"""

# @param numbers int整型一维数组
# @return int整型
#
from typing import List

class Solution:
    def duplicate(self , numbers: List[int]) -> int:
        # write code here
        for i, num in enumerate(numbers):
            while num[i] != i:
                m = numbers[i]
                if numbers[m] == m:
                    return m
            else:
                numbers[i] = numbers[m]
                numbers[m] = m
        return -1

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档