(位運算)260 只出現一次的數字 III

2021-09-25 06:26:59 字數 530 閱讀 3349

給定乙個整數陣列 nums,其中恰好有兩個元素只出現一次,其餘所有元素均出現兩次。 找出只出現一次的那兩個元素。

示例 :

輸入: [1,2,1,3,2,5]

輸出: [3,5]

注意:結果輸出的順序並不重要,對於上面的例子, [5, 3] 也是正確答案。

你的演算法應該具有線性時間複雜度。你能否僅使用常數空間複雜度來實現?

題解:將所有數異或得 sum(兩個數的異或和),找到 sum 右邊第乙個為 1 的位置,這個位置是兩個數二進位制中不同的乙個位置,利用這個位置將陣列劃分。

class solution 

int ans1=0,ans2=0;

for(int i=0;i>pos)&1) ans1^=nums[i];

else ans2^=nums[i];

}v.push_back(ans1);

v.push_back(ans2);

return v;

}};

LeetCode260 只出現一次的數字 III

給定乙個整數陣列nums,其中恰好有兩個元素只出現一次,其餘所有元素均出現兩次。找出只出現一次的那兩個元素。示例 輸入 1,2,1,3,2,5 輸出 3,5 注意 結果輸出的順序並不重要,對於上面的例子,5,3 也是正確答案。你的演算法應該具有線性時間複雜度。你能否僅使用常數空間複雜度來實現?方法呢...

leetcode260 只出現一次的數字 III

給定乙個整數陣列 nums,其中恰好有兩個元素只出現一次,其餘所有元素均出現兩次。找出只出現一次的那兩個元素。示例 輸入 1,2,1,3,2,5 輸出 3,5 注意 結果輸出的順序並不重要,對於上面的例子,5,3 也是正確答案。你的演算法應該具有線性時間複雜度。你能否僅使用常數空間複雜度來實現?le...

leetcode260 只出現一次的數字 III

給定乙個整數陣列 nums,其中恰好有兩個元素只出現一次,其餘所有元素均出現兩次。找出只出現一次的那兩個元素。示例 輸入 1,2,1,3,2,5 輸出 3,5 注意 結果輸出的順序並不重要,對於上面的例子,5,3 也是正確答案。你的演算法應該具有線性時間複雜度。你能否僅使用常數空間複雜度來實現?解法...