首页 新闻 会员 周边 捐助

python 如何用二分搜索找到所有list中重复的值,并修改list

0
悬赏园豆:100 [待解决问题]

如何用二分搜索找到所有list中重复的数字,并把所有重复的数字变成0
例如([1,1,2,3,4,5,5] -> [0,0,2,3,4,0,0])

ed3的主页 ed3 | 初学一级 | 园豆:24
提问于:2021-03-31 11:51
< >
分享
所有回答(3)
0

这个队列都已经排序了,还需要二分搜索?

星星点灯6 | 园豆:164 (初学一级) | 2021-03-31 13:30

这个list里面的数也可以是任意顺序的

支持(0) 反对(0) ed3 | 园豆:24 (初学一级) | 2021-03-31 14:45

@ed3: 二分搜索的前提是已经排序了,这个题目出的有问题啊!

支持(0) 反对(0) 星星点灯6 | 园豆:164 (初学一级) | 2021-03-31 16:15

@星星点灯6: 可以在最开始用.sorted()呀

支持(0) 反对(0) ed3 | 园豆:24 (初学一级) | 2021-03-31 16:19
0

用自己内部的元素搜自己吗?遍历吧,二分搜索我不知道怎么才能做到

echo_lovely | 园豆:1584 (小虾三级) | 2021-03-31 13:55
0

虽然不是二分法, 也可以简单实现功能

import collections

l = [1,1,2,3,4,5,5]
m = collections.Counter(l)
r = [0 if m[i]>1 else i for i in l]
print(r)

ABeen | 园豆:251 (菜鸟二级) | 2021-04-13 10:28
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册