全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  应聘面试  >  Python面试题

按照题目要求写出对应的函数

发布时间:2022-08-22 17:26:20
发布人:wjy

要求:列表中有1000000个元素,取值范围是[1000, 10000),设计一个函数找出列表中的重复元素。

 def find_dup(items: list): dups = [0] * 9000 for item in items: dups[item - 1000] += 1 for idx, val in enumerate(dups): if val > 1: yield idx + 1000

点评:这道题的解法和计数排序的原理一致,虽然元素的数量非常多,但是取值范围[1000, 10000)并不是很大,只有9000个可能的取值,所以可以用一个能够保存9000个元素的dups列表来记录每个元素出现的次数,dups列表所有元素的初始值都是0,通过对items列表中元素的遍历,当出现某个元素时,将dups列表对应位置的值加1,最后dups列表中值大于1的元素对应的就是items列表中重复出现过的元素。

按照题目要求写出对应的Python函数

相关文章

华为外包python面试题-Python实现斐波那契数列

2023-07-25

常见Python程序员面试题

2023-07-21

Python面试题及答案

2023-07-20

matlab和python实现pca降维算法

2023-03-29

【Python面试题】运行下面的代码是否会报错?

2022-08-23

【Python面试题】对下面给出的字典按值从大到小对键进行排序。

2022-08-23
在线咨询 免费试学 教程领取