美文网首页
JZ-040-数组中只出现一次的数字

JZ-040-数组中只出现一次的数字

作者: 醉舞经阁半卷书 | 来源:发表于2021-12-29 07:35 被阅读0次

    数组中只出现一次的数字

    题目描述

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

    题目链接: 数组中只出现一次的数字

    代码

    /**
     * 标题:数组中只出现一次的数字
     * 题目描述
     * 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。
     * 题目链接:
     * https://www.nowcoder.com/practice/e02fdb54d7524710a7d664d082bb7811?tpId=13&&tqId=11193&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking
     */
    public class Jz40 {
    
        /**
         * 位运算
         *
         * @param array
         * @param num1
         * @param num2
         */
        public void FindNumsAppearOnce(int[] array, int num1[], int num2[]) {
            int diff = 0;
            for (int num : array) {
                diff ^= num;
            }
            diff &= -diff;
            for (int num : array) {
                if ((num & diff) == 0) {
                    num1[0] ^= num;
                } else {
                    num2[0] ^= num;
                }
            }
        }
    
        public static void main(String[] args) {
    
        }
    }
    

    【每日寄语】 永远面朝阳光,阴影就会被甩到后面。

    相关文章

      网友评论

          本文标题:JZ-040-数组中只出现一次的数字

          本文链接:https://www.haomeiwen.com/subject/waxvqrtx.html