剑指offer-数组中只出现一次的数字

Posted loyolh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指offer-数组中只出现一次的数字相关的知识,希望对你有一定的参考价值。

题目描述

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

//num1,num2分别为长度为1的数组。传出参数
//将num1[0],num2[0]设置为返回结果
public class Solution {
    public void FindNumsAppearOnce(int [] array,int num1[] , int num2[]) {
        
        int len = array.length;
        int temp = 0 ;
        for(int i=0;i<len;i++){
            for(int j=i+1;j<len;j++){
                if (array[j] < array[i])
                {
                    temp = array[i] ;
                    array[i] = array[j] ;
                    array[j] = temp ;
                }
            }
        }
        
        int flag = 0;
        if(array[0]!=array[1]){
            num1[0] = array[0];
            flag = 1;
        }  
        for(int i=1;i<len-1;i++){
            if(array[i]!=array[i-1] && array[i]!=array[i+1]){
                if(flag==0){
                    num1[0] = array[i];
                    flag = 1;
                }
                else{
                    num2[0] = array[i];
                }
            }
        }
        if(array[len-1]!=array[len-2]) num2[0] = array[len-1];
    }
}

 

以上是关于剑指offer-数组中只出现一次的数字的主要内容,如果未能解决你的问题,请参考以下文章

剑指offer:数组中只出现一次的数字

剑指Offer 数组中只出现一次的数字

剑指offer数组中只出现一次的数字

剑指offer 40.知识迁移能力 数组中只出现一次的数字

剑指offer数组中只出现一次的数字

剑指offer数组中只出现一次的数字