初級演算法 5 只出現一次的數字

2022-08-01 07:36:12 字數 587 閱讀 5739

題目:

給定乙個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。

說明:你的演算法應該具有線性時間複雜度。 你可以不使用額外空間來實現嗎?

示例 1

:輸入: [

2,2,1

]輸出:

1示例 2:

輸入: [

4,1,2,1,2

]輸出:

4

解題思路:

1.題目中要求線性空間,最簡單的則是將整個陣列進行相與,最後的結果即為目標數。

**如下:

class

solution

return

ret;

}};

2.可以用hash,統計每個數目的數量即可,找出出現一次的數。

class

solution

else

}map

::iterator it =m.begin();

for(;it!=m.end();++it)

}return0;

}};

LeetCode 初級演算法 只出現一次的數字

1 根據題目的介紹我們可以得到以下結論 方法一 使用異或運算 有了以上結論,我們可以將陣列中的所有元素進行異或運算,得到的結果一定是單獨出現的元素。使用for迴圈從陣列第二位 即下標為1 的運算開始,每迴圈一次將該元素與nums 0 進行異或運算,得到的結果再次賦給nums 0 即使用 運算子。此方...

演算法 只出現一次的數字

1.leetcode136 給定乙個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。要求時間複雜度o n 空間複雜度o 1 示例 輸入 4,1,2,1,2 輸出4 1 面試官不想要的答案 建字典 排序。2 面試官想要的答案 位運算。思路 如果我們對 0 ...

初級演算法 陣列 五 只出現一次的數字

給定乙個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。示例 輸入 2,2,1 輸出 1 include include include using namespace std class solution return nums nums.size 1...