摘要: 题目:一个数组中的元素,只有一个数字出现了一次,其他的元素都出现两次。找出出现一次的这个数字。示例: {1,2,1,3,2,4,4} 输出:3方案1:先将数组进行排序,这个数字一定是出现在第奇数位上(从1开始计数),并且这个数和后面的数不相同。 若没有找到这个数字,则其为排序后的最后一个数字。分析:进行排序的时间复杂度O(nlogn),再遍历一遍为O(n),则总体时间复杂度为O(nlogn)。方案2*:若数组中不含有0和1,可令sum= a[0]*a[1]*...*a[n-1]。 然后再遍历一遍数组,看a[i]是否能整除sum两次,若不能,即为所求。分析:为求得sum,需要遍历... 阅读全文
posted @ 2013-09-16 19:15 欧麦高德 阅读(384) 评论(1) 推荐(0)