百科问答小站 logo
百科问答小站 font logo



腾讯面试题,如何寻找一个数组里面唯一不重复的元素?要求时间复杂度o(n)和空间复杂度o(1)? 第1页

  

user avatar   zjc-7-76 网友的相关建议: 
      

直接求所有元素的异或和就行

大致代码:

s=0

for i=1 to n{

s = s xor a[i]

}

return s

(xor在c++里运算符是^)

原理说明:对于任何数x,0 xor x=x且x xor x=0


user avatar   mo-yu-xiao-xuan 网友的相关建议: 
      

如果题目里说的重复指的是恰好出现两次,那么直接O(n)把数组里的元素都异或(xor)起来就行,得到的结果就是那个唯一的不重复的元素。




  

相关话题

  计算机专业毕业,想入bim行业,想知道前景如何? 
  如果让计算机不使用操作系统做服务器性能上是否会更有优势? 
  Cpu访问cache未命中,是否还需要访问一次cache? ? 
  计算机未来应该纳入高考学科吗? 
  即时战略游戏(比如 WAR3)的 AI 是怎样实现的? 
  计算机那么好,为什么计算机专业出身的很多人毕业都转行不搞计算机了? 
  未来会不会有一种方式,可以使一部蓝光电影压缩到几Mb甚至几Kb? 
  数字图像处理的工作是用传统算法更多还是用深度学习更多? 
  中国目前的人工智能在全球处于什么水平? 
  如何比较台式机、一体机、笔记本、上网本、超级本、平板的优缺点,以及未来的发展趋势? 

前一个讨论
交换机各个端口之间的网速是否会被影响?
下一个讨论
中医黑认为西医是现代医学,那么是否认为西方经济学是现代经济学?





© 2025-04-15 - tinynew.org. All Rights Reserved.
© 2025-04-15 - tinynew.org. 保留所有权利