[抄题]:

Given a non-empty array of integers, every element appears twice except for one. Find that single one.

Note:

Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?

Example 1:

Input: [2,2,1]
Output: 1

Example 2:

Input: [4,1,2,1,2]
Output: 4

[暴力解法]:

时间分析:

空间分析:

[优化后]:

时间分析:

空间分析:

[奇葩输出条件]:

[奇葩corner case]:

[思维问题]:

[一句话思路]:

用异或

[输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况:异常情况(不合法不合理的输入):

[画图]:

[一刷]:

要有默认返回值:返回0

[二刷]:

[三刷]:

[四刷]:

[五刷]:

[五分钟肉眼debug的结果]:

[总结]:

^= 好用

[复杂度]:Time complexity: O(n) Space complexity: O(1)

[英文数据结构或算法,为什么不用别的数据结构或算法]:

[关键模板化代码]:

//for loop ^=
for (int i = 0; i < nums.length; i++) {
n ^= nums[i];
}

[其他解法]:

[Follow Up]:

137. Single Number II 出现三次:与

260. Single Number III 2个一次

[LC给出的题目变变变]:

[代码风格] :

class Solution {
public int singleNumber(int[] nums) {
//ini n
int n = 0; //for loop ^=
for (int i = 0; i < nums.length; i++) {
n ^= nums[i];
} //return
if (n != 0) return n; return 0;
}
}

最新文章

  1. 【那些年关于java多态应用】
  2. Ubuntu14.04下配置固定IP
  3. tomcat端口号被占用
  4. cmd 常用指令
  5. 概率 高消light oj 1151
  6. MySQL数据故障时备份与恢复
  7. sql去除某个字段中的某个字符串 replace
  8. css margin-top设置html元素之间的距离
  9. Linux 线程优先级
  10. 甲骨文公司 Oracle
  11. zlog小试(C语言日志工具)
  12. 2015第15周日PostgreSQL学习
  13. Strategic game(POJ 1463 树形DP)
  14. Delphi 取外网IP
  15. 处理json中影响解析的多余引號
  16. [python爬虫]爬取学校教务处成绩
  17. CSS3基础知识
  18. ●BZOJ 2693 jzptab
  19. quartz定时任务cron表达式
  20. java 标准输出与标准错误 out与 err 区别 用法 联系 java中的out与err区别 System.out和System.err的区别 System.out.println和System.err.println的区别 Java重定向System.out和System.err

热门文章

  1. Android tcpdump 使用
  2. description方法
  3. Linq:Grouping Operators
  4. 【java规则引擎】drools6.5.0版本api简介
  5. Android 比对APK的签名信息
  6. 三个Telnet链接类----来自网络
  7. Ctrl+H 浪潮Raid配置文档
  8. vuejs angularjs 框架的一些比较(vue项目重构四)
  9. mysql + unidac 使用事务例子
  10. 配置动态ip为静态ip qq交流总结