首页 > 代码库 > Single NUmber

Single NUmber

第一次提交:导包错误

Solution.java:1: error: cannot find symbol
import java.lang.Arrays;
^
symbol: class Arrays
location: package java.lang
1 error

EXITCODE=1

 

第二次提交:没有返回语句!!为什么非要在结尾加上返回语句?中间if循环中的返回语句不好用?

Solution.java:17: error: missing return statement
}
^
1 error

 

第三次提交:逻辑上有错误。[1,1,2,2,3,4,4]  输出 2   期望答案 3

第四次提交:!=符号错误,中文下输入。

第五次提交:没考虑数组未空,导致数组下标越界。

第六、七、八次提交:数组为空时,应当返回0,而非[],并且不可以直接返回 return [];

疑问:题目描述不是应该 2*n+1 个数字,测试数据怎么还会出现空数组。

 

思路:

1、首先得到数组的长度,判断数组长度是否为0或1,因为下面的判断中有 A[2*i] == A[2*i+1]

2、对数组进行升序排列,调用Arrays.sort()函数

3、循环判断数组中临近的两个元素是否相等,若不相等,说明两个元素中的第一个元素即为落单的数,若相等,进入下一次循环

 




Single NUmber