數字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和...