首页 > 试题广场 >

寻找唯一重复数

[编程题]寻找唯一重复数
  • 热度指数:1295 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个包含 n 个正整数的数组 nums,数组中所有数字都在区间 [1,n-1] 内,但有一个数出现了两次及以上,其余所有数字都仅出现一次。
例如 [4,2,3,1,4] ,其中 4 出现了两次。
请你找到这个重复的数。

进阶一:
请你找到一个时间复杂度为,空间复杂度为的方法

进阶二:
请你找到一个时间复杂度为O(n),空间复杂度为的方法

数据范围:
示例1

输入

[4,2,1,3,3]

输出

3
示例2

输入

[1,2,3,4,5,6,7,8,9,9]

输出

9
package main
//import "fmt"

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param nums int整型一维数组 
 * @return int整型
*/
func findRepeatNum( nums []int ) int {
    cnt:=map[int]int{}
    for _,n:=range nums{
        if _,ok:=cnt[n];ok{
            return n
        }
        cnt[n]++
    }
    return -1
}

发表于 2023-03-28 20:12:45 回复(0)

问题信息

难度:
1条回答 1746浏览

热门推荐

通过挑战的用户

查看代码