演算法(一) 求集合中重複出現或者不重複出現的數值

2021-10-02 19:33:30 字數 405 閱讀 8538

求法一:利用異或

兩個相同的數進行異或,結果為0

將集合中所有的元素進行異或運算,得到的結果為最終的唯一重複的數或者唯一不重複的數,

原因:a ^ b ^ c ^ d ^ a ^ c ^ b=(a ^ a) ^( b ^ b) ^ (c ^ c) ^d=d,

例子:乙個集合中只有乙個數是只出現一次,其他數出現兩次

public

intsinglenumber

(int

nums)

return num;

}

求法二(適用於每兩個不同的數的差距相等集合)

例子:集合**現的數字有1-100,只有乙個數不出現兩次

解法:將1 到 100 相加,然後乘以 2 再減去集合中所有數的和

演算法 字串中第乙個不重複出現的元素

給定乙個字串,找出第乙個不重複出現的字元,並返回 其位置下標,否則返回 1。如,s leetcode return 0.s loveleetcode return 2.假設字串僅包含小寫字母。比較好的方法是線性演算法,無論如何,為確認字元只出現一次,我們都 得遍歷整個字串。我們可以訪問每個字元,把它...

去掉陣列中重複出現元素的演算法

一.問題描述 在實際程式設計中我們經常遇到 去掉重複數字 等類似的問題,也就是 remove the duplicate 問題。例如在 建立某個統計樣本時,要去掉重複的元素 下面將給出這類問題的解決思路。二.解決思路 解決上述問題基本上有三種思路 第一種 使用map容器過濾掉重複元素 適用於整形資料...

找到陣列中第乙個不重複出現的整數 python

碼住 coding utf 8 找到陣列中第乙個不重複出現的整數 python 組中不重複的數只有乙個,初始值為0,然後直接遍歷陣列,讓每個值與初始值進行異或,得出的最終值就是要找的結果 import collections deffindnoduponlyone data single 0 for...