给定 n 个数,每次可以删除任意两个不同的数字,问最后能否删除完毕?

2019-08-29 11:05:39 +08:00
 codechaser

这题有什么特殊的地方吗?奇数个数字删不完,偶数个数字的话,如果有个数字的数量超过了 n/2,也删不完。面试官说存在数字数量小于 n/2 的也删不完的反例,没想出来。

4228 次点击
所在节点    程序员
26 条回复
no1xsyzy
2019-08-30 09:51:49 +08:00
直接排序后对切,然后 x[i] x[i+n/2] 各取一个,肯定能取空
排序后 x[i] != x[i+n/2]
ssynhtn
2019-08-30 10:58:46 +08:00
可以证明只要重复最多的数字不超过一半就能删完
catcalse
2019-08-30 10:58:50 +08:00
1。2。2.。2.2.3
rocketman13
2019-08-30 11:13:31 +08:00
不存在反例吧
luozic
2019-08-30 13:04:04 +08:00
构建对等数据集合 {{x },{y}} ,这个可以用有理数的集合论来分析了,咋删不完的? 除非你这个“任意”是设计的。 设计好的删除方式
codechaser
2019-08-30 17:37:17 +08:00
@GM 允许重复,必须每次删除两个不同的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/596129

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX