java算法6~在其他数都出现偶数次的数组中找到出现奇数次的数

来源:互联网 发布:证件照片制作软件在线 编辑:程序博客网 时间:2024/05/21 22:35

算法目的:在其他数都出现偶数次的数组中找到出现奇数次的数

算法要求:时间复杂度O(n),空间复杂度O(1)

算法思路:对于一个整数n:0^n=n      n^n=0,根据这两条规则,我们知道在这个数组中出现偶数次数的n^n=0。


实现:

/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */package algorithm_database;/** * * @author zhengchao */public class findTheOnly {        public static void main(String[] args){                int[] intStr = {1,2,3,4,5,4,3,2,1};        System.out.println(findYOU(intStr));            }        public static int findYOU(int[] intStr){        int ee = 0;        for(int i=0;i<intStr.length;i++){            ee^=intStr[i];        }        return ee;    }    }
算法限定整形数组必须只有一个整数的个数为奇数。

1 0
原创粉丝点击