如何找出陣列中唯一的重複元素?

2021-09-24 14:35:42 字數 665 閱讀 3968

數字1到1000放在含有1001個元素的陣列中,其中只有唯一的乙個元素值重複,其他數字均只出現一次。 設計乙個演算法,講重複元素找出來,要求每個陣列元素只能訪問一次。如果不使用輔助儲存空間,能否設計乙個演算法實現?

首先在看到這個題的時候,要特別注意幾個條件:

1.每個陣列元素只能訪問一次。(如果可以訪問多次,可以慢慢遍歷過來,但是時間複雜度就提高了)

2.不使用輔助儲存空間(如果可以使用輔助空間這個題,就變得非常容易了)

3.陣列元素(數字1到1000放在含有1001個元素的陣列中),所以在測試方法的時候要特別的注意

/**

** @param arr:

* 陣列

* @return

* 重複的元素

*/public static int finddup(int arr)

//宣告空間,減少變數的宣告

int len=arr.length;

int result=0;

int i;

//將陣列中的所有異或運算

for (i=0;i//因為從數字1到1000,所以我在這裡借助1:1000的數字去和陣列的元素異或運算

for (i=1;i//返回重複元素的值

return result;

}

找出陣列中唯一的重複元素

問題 1 1000放在含有1001個元素的陣列中,只有唯一的乙個元素值重複,其它均只出現一次。每個陣列元素只能訪問一次,設計乙個演算法,將它找出來 不用輔助儲存空間,能否設計乙個演算法實現?include include include 根據異或法的計算方式,每兩個相異的數執行異或運算之後,結果為1...

python實現找出陣列中唯一的重複元素

題目描述 數字 l 1000放在含有 1001 個元素的陣列中,其中只有唯一的乙個元素值重複,其他數 字均只出現一次。設計乙個演算法,將重複元素找出來,要求每個陣列元素只能訪問一次。如 果不使用輔助儲存空間,能否設計 一 個 演算法實現?分析 計算機技術與數學本身是一家 拋開計算機專業知識不提,上述...

陣列中找出任意重複元素

在0 n 1個數中找出出現次數大於一的任意乙個元素 有兩種做法 資料樣例 2,3,2,0,2,5,3 資料索引 0,1 2,3,4,5,6 因為給定範圍0 n 1,如果有重複,肯定有元素放在它所在值的索引上之後,還有與它值相同的元素跟自己的索引值對不上,樣例中如果把2放到no.2處,no.0處的2和...