牛客(40)数组中只出现一次的数字

Posted 楷兵

tags:

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

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

    //num1,num2分别为长度为1的数组。传出参数
    //将num1[0],num2[0]设置为返回结果

    public static void FindNumsAppearOnce(int[] array, int num1[], int num2[]) {
//        通过 0%
//        if (num1.length <= 1 || num2.length <= 1 || array.length <= 1) {
        if (array.length <= 1) {
            return;
        }
        boolean f1 = false;
        boolean f2 = false;
        for (int i = 0; i < array.length; i++) {
            int flagNum1 = 0;
            int flagNum2 = 0;
            int num1flag = array[i];
            int num2flag = array[i];
            for (int j = 0; j < array.length; j++) {
                if (!f1) {
                    if (num1flag == array[j]) {
                        flagNum1++;
                    }
                } else if (!f2) {
                    if (num2flag == array[j]) {
                        flagNum2++;
                    }
                }
            }
            if (flagNum1 == 1) {
                num1[0] = array[i];
                f1 = true;
            }
            if (flagNum2 == 1) {
                num2[0] = array[i];
                f2 = true;
            }
        }
    }

 

以上是关于牛客(40)数组中只出现一次的数字的主要内容,如果未能解决你的问题,请参考以下文章

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

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

40 数组中只出现一次的数字

40 数组中只出现一次的数字

面试题40:数组中只出现一次的数字

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