简便算法:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现 一次的数字。

数组中只出现一次的数字

http://www.nowcoder.com/questionTerminal/e02fdb54d7524710a7d664d082bb7811

易解

//看了很多老哥都是用异或实现,我投了个巧,大家可以看看,提出建议呀。
//description of question
//一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现
//一次的数字。

import java.util.ArrayList;
public class Solution {

public void FindNumsAppearOnce(int[] array, int num1[], int num2[]) {
    if (array.length < 2) return;
    ArrayList<Integer> list1 = new ArrayList<>();
     ArrayList<Integer> list2=new ArrayList<>();
    for (int i = 0; i < array.length; i++) {
        Integer j=array[i];
        if (!list1.contains(j)) {
            list1.add(j);
        }else{
            list1.remove(j);
        }
        System.out.println(list1);
    }
    num1[0] = list1.get(0);
    num2[0] = list1.get(1);
}

//测试用例
// public static void main(String[] args) {
// Solution solution=new Solution();
// int [] array={1,2,1,2,3,3,5,5,9,7};
// int [] n1=new int[1];
// int [] n2=new int[1];
// solution.FindNumsAppearOnce(array,n1,n2);
// }
}

全部评论

相关推荐

1 收藏 评论
分享
牛客网
牛客企业服务