LeetCode练习一:Single Number
来源:互联网 发布:数据字典缓存的作用 编辑:程序博客网 时间:2024/05/20 04:49
Single Number
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?
题目要求是给定一个整形数组,该数组中只有一个元素不是成对出现的,找到这个元素。要求算法的时间复杂度是线性的。
这道题的解题思路就是:一个整数和他自己异或得到的结果是零。
所以该题的解法就是初始化一个值为0的数,与该数组中每一个数执行异或操作,最后得到的数便是该数组中唯一一个不成对的整数。
下面是用java实现的代码:
public class Solution { public int singleNumber(int[] A) { int result = 0; for(int i = 0;i<A.length;i++){ result = result ^ A[i]; } return result; }}
当然此题如果不考虑时间复杂度,做法还是很多的,比如用哈希表来完成。
HashMap<Integer, Integer> map = new HashMap<Integer, Integer>(); for (int i = 0; i < A.length; i++){ if(!map.containsKey(A[i])) { map.put(A[i], i); } else { map.remove(A[i]); } } for (int i = 0; i < A.length; i++){ if(map.containsKey(A[i])) {return A[i];} } return 0;
0 0
- LeetCode练习一:Single Number
- leetcode Single Number & Single Number ||
- [LeetCode] Single Number
- Leetcode: Single Number
- Leetcode Single Number
- Single Number - leetcode
- Single Number II - leetcode
- Leetcode: Single Number II
- 【LeetCode】Single Number
- [LeetCode] Single Number II
- LeetCode: Single Number II
- LeetCode: Single Number
- leetcode -- Single Number II
- [leetcode]Single Number II
- [LeetCode] Single Number II
- [LeetCode]Single Number
- Leetcode Single Number
- 【leetcode】Single Number
- 16周课后自主-项目1-数组排序(指针)
- getElementsByName方法的出身
- ListView的动态刷新问题——用notifyDataSetChanged没作用
- 很方便的IP查询接口:淘宝IP地址库
- gnu-linker 译文一
- LeetCode练习一:Single Number
- 利用flexbox构建可伸缩布局
- poj 1459 zoj 1734 Power Network(最大流)
- IE11 - Javascript 无法取得嵌套弹出框的返回值 - KB3008923
- 如何查看linux系统是32位还是64位
- 不是IE的IE11
- 在linux服务器上lamp环境中怎样安装php的扩展模块
- Apache反向代理到Jetty
- volatile——多线程程序员最好的朋友