栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

LeetCode961.在长度2N的数组中找出重复N次的元素(Python)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

LeetCode961.在长度2N的数组中找出重复N次的元素(Python)

题目

 

 

哈希表

列表中除了重复的元素其余的都只出现一次

我们将出现的元素储存

当元素再次出现时输出

代码

class Solution:

def repeatedNTimes(self, nums: List[int]) -> int:

    found = set()

    for num in nums:

        if num in found:

            return num

        found.add(num)

# 不可能的情况

    return -1

随机数

从nums中随机抽取2个下标

两个数相等且下标不相等

我们输出这个数

代码

class Solution:

def repeatedNTimes(self , nums:List[int]) -> int:

n = len(nums)

while True:

x,  y = random.randrange(n),random.randrange(n)

if x != y and nums[x] == nums[y]:

return nums[x]

总结

一开始审题不清

以为不止一个元素重复

导致使用了效率更慢的计数及查找

以后加强审题方面 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/920810.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号