leetcode single-number
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode 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?
我的解题思路:不能使用额外空间,时间要线性,粗暴的方法就是两个循环
在下的代码 时间213ms 空间13164k
public class Solution { public int singleNumber(int[] A) { for (int i=0;i<A.length;i++){ Boolean twice = false; for (int j= 0;j<A.length;j++){ if (i == j) continue; if (A[i] == A[j]){ twice = true; break; } } if (!twice){ return A[i]; } } return 0; } }
大神代码 时间150ms 空间12952k 异或的思路就是好啊,两个相同的数异或为0
public class Solution { public int singleNumber(int[] A) { int num = 0; for(int i=0;i<A.length;i++){ num^=A[i]; } return num; } }
以上是关于leetcode single-number的主要内容,如果未能解决你的问题,请参考以下文章
java 来自https://leetcode.com/problems/single-number/#/description
java 来自https://leetcode.com/problems/single-number/#/description