題目:
給定乙個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。
說明:
你的演算法應該具有線性時間複雜度。 你可以不使用額外空間來實現嗎?
示例 1:
輸入:[2,2,1]輸出:1示例 2:
輸入:[4,1,2,1,2]輸出:4思路:因為元素最多出現兩次,則使用unordered_set儲存元素,如果hashset中沒有則插入,如果再次出現則將這個元素移除,最後剩下的就是只出現一次的元素;
class solution
hashset.insert(v);
}return *(hashset.begin());
}};
思路2:高階解法,使用異或
class solution
return n;
}};
LeetCode 只出現一次的數字
給定乙個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。說明 你的演算法應該具有線性時間複雜度。你可以不使用額外空間來實現嗎?示例 1 輸入 2,2,1 輸出 1 示例 2 輸入 4,1,2,1,2 輸出 4 這道題思路很多,我們逐個來考慮 1.列舉 e...
LeetCode 只出現一次的數字
傳送門 題目描述 給定乙個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。說明 你的演算法應該具有線性時間複雜度。你可以不使用額外空間來實現嗎?示例 1 輸入 2,2,1 輸出 1 示例 2 輸入 4,1,2,1,2 輸出 4 假 解答一 遍歷陣列,判斷...
LeetCode 只出現一次的數字
題目如下 點此讀題 很幸運,選到了一道秀得我頭皮發麻的題。題目要求的是從乙個陣列中選出只出現了一次的數字,第一反應就是用求和來解,然而仔細想想好像沒有什麼卵用。你不能證明最後的陣列和與那個只出現了一次的整數有什麼關係,隨隨便便來個偶數陣列就能輕而易舉打破這個假說。接著就按老思路,看看能不能以排序或者...