(java)Single Number
2016-01-06 20:40
441 查看
Given an 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?
思路:本题时间复杂度要求较高,一时间没想到用位运算,或许也是自己菜吧,位运算用的少。google了一下才知道用位运算可以解决。
本题使用异或预算。因为axorb=bxora; AxorA=0,AxorB=1(A!=B)
0xorALL=ALL;因为本题只有一个数字是单独出现的,所以将所有数字异或一遍的结果就是那个只出现一次的数字。
代码如下(已通过leetcode)
public class Solution {
public int singleNumber(int[] nums) {
int ans=0;
for(int i=0;i<nums.length;i++)
ans^=nums[i];
return ans;
}
}
Note:
Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?
思路:本题时间复杂度要求较高,一时间没想到用位运算,或许也是自己菜吧,位运算用的少。google了一下才知道用位运算可以解决。
本题使用异或预算。因为axorb=bxora; AxorA=0,AxorB=1(A!=B)
0xorALL=ALL;因为本题只有一个数字是单独出现的,所以将所有数字异或一遍的结果就是那个只出现一次的数字。
代码如下(已通过leetcode)
public class Solution {
public int singleNumber(int[] nums) {
int ans=0;
for(int i=0;i<nums.length;i++)
ans^=nums[i];
return ans;
}
}
相关文章推荐
- (java)Compare Version Numbers
- web服务器
- 【第四章】 资源 之 4.4 Resource通配符路径 ——跟我学spring3
- [细品java]ThreadLocal源码学习
- (java)Rotate Array
- 12Java语法回顾之递归
- (java)Excel Sheet Column Title
- Java基础:多线程之线程创建的两种方式
- eclipse学习心得
- 时间工具 java
- springMvc 拦截器
- java jar war 打包
- java+selenium Q&A
- Java中的抽象类与接口
- spring注解
- Elasticsearch源码加载到eclipse调试
- Spring-web源码解析之Initializer
- Java 字符串与数值、数组之间的转化
- 关于 struts2-json-plugin 报错
- swing/组件 java(三)