Single Number III落单的数(三)
Description
Given 2*n + 2 numbers, every numbers occurs twice except two, find them.
public class Solution {
/**
* @param A: An integer array
* @return: An integer array
*/
public List<Integer> singleNumberIII(int[] A) {
// write your code here
List<Integer> results = new ArrayList<Integer>() ;
if(A.length < 2 || A == null){
return null ;
}
Arrays.sort(A) ;
for(int i = 0 ; i < A.length ; i++){
if(i == 0 && A[i] != A[i+1]){
results.add(A[i]) ;
}
if(i < A.length-1 && i > 0 && A[i] != A[i-1] && A[i] != A[i+1]){
results.add(A[i]) ;
}
if(i == A.length-1 && A[i] != A[i-1]){
results.add(A[i]) ;
}
}
return results ;
}
}
这篇文章介绍了一种算法,如何在一组2n+2个数中,除了两个重复的数,找出仅出现一次的三个数。通过使用排序和条件判断,程序逐个检查元素,确保找到不重复的数并将其添加到结果列表中。
2141

被折叠的 条评论
为什么被折叠?



