百科问答小站 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)起来就行,得到的结果就是那个唯一的不重复的元素。




  

相关话题

  你认识的不懂电脑的人有什么令人哭笑不得的操作? 
  有哪些程序员特有的技能? 
  软件工程界有其它与『操作系统内核』与『浏览器引擎』齐名的高难度项目吗? 
  IT 圈里有哪些经常被读错的词? 
  中国的高校计算机教育存在哪些问题? 
  突然产生一个想法,本人是学计算机的一个妹子,录视频会有人看吗? 
  有什么算法可以很快的找出所有完全对称日呢? 
  vscode是用什么语言写出来的?为什么华为能做出鸿蒙系统,却开发不出类似vscode的开发工具? 
  机械真的如此不堪吗?我只是普通一本,但是,感觉学长们找的工作都还不错啊,不比同校计算机的差? 
  如果要评选中国互联网教父,谁最可能会当选? 

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





© 2025-03-11 - tinynew.org. All Rights Reserved.
© 2025-03-11 - tinynew.org. 保留所有权利