1. 程式人生 > >給定一個數組,找出其中出現奇數次的元素

給定一個數組,找出其中出現奇數次的元素

package com.yzcl.test;

public class JiShu {
public static void main(String[] args) {
//給定一個含有n個元素的整型陣列a,例如{1,1,2,4,3,3,1},找出其中出現奇數次的元素,並列印,輸出:1,2,4,
int a[] = {1,11,1,5,84,54,5,1,54,79,1,1,4,5,5};
int s=1,z=0;
//定義兩個傳值變數
for(int i=0;i<a.length;i++){
for(int j=0;j<a.length;j++){
if(a[i] == a[j]&&i != j) {
//同位置的數值不能比對
s++;
//求出兩個相等的數字出現的次數
}
}
if(s%2!=0) {
//當s不為偶數的時候才能判斷那個值為奇數次元素
if(i!=0) {
//當i0時,不進行此操作直接跳出
for(int k=0;k<i;k++) {
//將a[i]所在的位置與其前邊的數進行比較
if(a[i]a[k]) {
//如果出現相等,則z=2,後期不進行操作,也就是輸出過該“a[i]為奇數次元素”那句話了
z=2;
}//否則,z

0不變
}
}//當i0時,直接z0;只用s判定輸出
if(z
0) {
System.out.println(a[i]+“為奇數次的元素”);
}
}s=1;
z=0;
}
}
}