摘要: 1.5 快速找出故障机器题意:给n个不同的数组成集合A,初始集合B等于集合A,若集合B中有元素丢失,把集合A和B中所有元素装进容器S,如何利用集合A和容器S快速找到丢失元素?解法一的思路很直接,统计所有数字在容器S中出现次数之和,若出现次数为1(即只在集合A中出现),那么这个数字就是丢失的。优点是无论丢多少数字都能找出来,缺点很明显,空间复杂度太高。解法二实际上是解法一的改进,我们只需要找出出现一次的元素,所以出现两次的结果没必要保存。相对解法一,空间复杂度在运气好的情况下可以为O(1),运气不好则还是O(N)。解法三的想法是,将容器S中所有元素相异或,若丢失一个元素,则出来的结果就是丢失的元 阅读全文
posted @ 2012-10-16 12:25 罗辑 阅读(223) 评论(0) 推荐(0) 编辑