class Solution {
public:
int singleNumber(int A[], int n) {
int i,j;
for(i=; i<n; i++)
{
for(j=i+; j<n; j++)
{
if(A[j]==A[i])
{
int temp = A[i+];
A[i+] = A[j];
A[j] = temp;
i++;
break;
}
}
if(j==n)
return A[i];
}
}
};

上面的是传统方法,时间复杂度是O(n2),空间复杂度是O(1)。

 class Solution {
public:
int singleNumber(int A[], int n) {
int result=;
for(int i=; i<n; i++)
result = result ^ A[i];
return result;
}
};

用位异或运算实现,时间复杂度和空间复杂度均为O(1).

运用了异或运算具有交换律和结合律的性质。

交换律: a^b = b^a

结合律: (a^b)^c = a^(b^c)

另外,a^a=0。

最新文章

  1. 移动Web触摸与运动解决方案AlloyTouch开源啦
  2. jquery获取url参数及url加参数的方法
  3. 从Trie谈到AC自动机
  4. Android ListView 自定义 Adapter
  5. Map的基本用法(Java)
  6. Requests库的几种请求 - 通过API操作Github
  7. putty 实现不用输入用户名密码直接登陆
  8. gentoo下grub文件编辑
  9. iOS面试题16719-b
  10. hdu 1548 A strange lift (bfs)
  11. hdu 4496 D-City(并查集)
  12. DOS 根据用户输入执行指令判断IF
  13. 模仿jquery的一些实现
  14. Tomcat常用的过滤器
  15. 在windows+eclipse+git遇到的未修改文件被标记为已修改的问题
  16. Linux挂载NAS 网络附属存储
  17. .NET Core、Xamarin、.NET Standard和.NET Framework四者之间的区别
  18. 蓝牙扫描工具btscanner修复暴力扫描模式
  19. Java如何计数替换字符串中第一次出现的子字符串?
  20. MySQL主从同步技术

热门文章

  1. js eval()函数 接收一个字符串,做为js代码来执行。 如: s=&#39;var d=&quot;kaka&quot;&#39;; 或者s=‘function (code){return code }’;
  2. POJ3126 Prime Path(BFS)
  3. -_-#【Better JS Code】严格模式
  4. Binary Tree Inorder Traversal ——LeetCode
  5. FZU 2113 Jason的特殊爱好
  6. 跳跃表Skip List【附java实现】
  7. Girls&#39; research - HDU 3294 (Manacher处理回文串)
  8. 表格布局TableLayout
  9. [Angular 2] Create a simple search Pipe
  10. Lucene中string docvalues使用utf-16的优化