leetcode:只出現一次的數字
給定一個整數陣列,除了某個元素外其餘元素均出現兩次。請找出這個只出現一次的元素。
備註:
你的演算法應該是一個線性時間複雜度。 你可以不用額外空間來實現它嗎?
初看這個題目,也許大部分同學的思路是儲存各個元素出現的次數,然後找出出現次數為1的元素。
但其實還有種更簡單的方法,那就是用到位運算之異或的特性:n ^ n = 0
程式碼如下:
class Solution { public: int singleNumber(vector<int>& nums) { int result = 0; if (nums.empty()) return -1; for (int i = 0; i < nums.size(); ++i) { result ^= nums[i]; } return result; } };
相關推薦
leetcode:只出現一次的數字
給定一個整數陣列,除了某個元素外其餘元素均出現兩次。請找出這個只出現一次的元素。 備註: 你的演算法應該是一個線性時間複雜度。 你可以不用額外空間來實現它嗎? 初看這個題目,也許大部分同學的思路是儲存各個元素出現的次數,然後找出出現次數為1的元
從leetcode:只出現一次的數 看異或
近期做leetcode上面的程式設計題,遇到了這麼一個題目: 給定一個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。 說明: 你的演算法應該具有線性時間複雜度。 你可以不使用額外空間來實現嗎? 其實如果不考慮空間複
Leetcode 136:只出現一次的數字(最詳細的解法!!!)
給定一個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。 說明: 你的演算法應該具有線性時間複雜度。 你可以不使用額外空間來實現嗎? 示例 1: 輸入: [2,2,1] 輸出: 1 示例 2: 輸入: [4,1,2,
Leetcode 137:只出現一次的數字 II(最詳細的解法!!!)
給定一個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現了三次。找出那個只出現了一次的元素。 說明: 你的演算法應該具有線性時間複雜度。 你可以不使用額外空間來實現嗎? 示例 1: 輸入: [2,2,3,2] 輸出: 3 示例 2: 輸入: [0,1
Leetcode 260:只出現一次的數字 III(最詳細的解法!!!)
給定一個整數陣列 nums,其中恰好有兩個元素只出現一次,其餘所有元素均出現兩次。 找出只出現一次的那兩個元素。 示例 : 輸入: [1,2,1,3,2,5] 輸出: [3,5] 注意: 結果輸出的順序並不重要,對於上面的例子, [5, 3] 也是正確答案。
LeetCode演算法題136:只出現一次的數字解析
給定一個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。 說明: 你的演算法應該具有線性時間複雜度。 你可以不使用額外空間來實現嗎? 示例1: 輸入: [2,2,1] 輸出: 1 示例2: 輸入: [4,1,2,1,2] 輸出: 4
LeetCode-136.只出現一次的數字(相關話題:位運算)
給定一個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。 說明: 你的演算法應該具有線性時間複雜度。 你可以不使用額外空間來實現嗎? 示例 1: 輸入: [2,2,1] 輸出: 1 示例 2: 輸入: [4,1,2,1,2] 輸出
Leetcode-探索 | 只出現一次的數字
求和 時空 技巧 做的 計算 輸出 奇技淫巧 leetcode bsp 給定一個非空整數數組,除了某個元素只出現一次以外,其余每個元素均出現兩次。找出那個只出現了一次的元素。 說明: 你的算法應該具有線性時間復雜度。 你可以不使用額外空間來實現嗎? 示例 1: 輸入: [2
LeetCode--136--只出現一次的數字
實現 額外 比較 pre 整數 etc -- tco tro 問題描述: 給定一個非空整數數組,除了某個元素只出現一次以外,其余每個元素均出現兩次。找出那個只出現了一次的元素。 說明: 你的算法應該具有線性時間復雜度。 你可以不使用額外空間來實現嗎? 示例 1: 輸入: [
leetcode 136. 只出現一次的數字 C語言版
給定一個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。 說明: 你的演算法應該具有線性時間複雜度。 你可以不使用額外空間來實現嗎? 示例 1: 輸入: [2,2,1] 輸出: 1 示例 2: 輸入: [4,1,2,1
Leetcode 136 只出現一次的數字 && Leecode 389 找不同
【136】 給定一個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。 說明: 你的演算法應該具有線性時間複雜度。 你可以不使用額外空間來實現嗎? 示例 1: 輸入: [2,2,1] 輸出: 1 示例 2: 輸入:
leetcode 136. 只出現一次的數字(python)
給定一個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。 說明: 你的演算法應該具有線性時間複雜度。 你可以不使用額外空間來實現嗎? 示例 1: 輸入: [2,2,1] 輸出: 1 示例 2: 輸入: [4,1,2,1
leetcode 136. 只出現一次的數字(Single Number)
給定一個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。 說明: 你的演算法應該具有線性時間複雜度。 你可以不使用額外空間來實現嗎? 示例 1: 輸入: [2,2,1] 輸出: 1 示例 2: 輸入: [4,1,2,
Leetcode-136. 只出現一次的數字(python3)
給定一個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。 說明: 你的演算法應該具有線性時間複雜度。 你可以不使用額外空間來實現嗎? 示例 1: 輸
Leetcode-260. 只出現一次的數字 III
給定一個整數陣列 nums,其中恰好有兩個元素只出現一次,其餘所有元素均出現兩次。 找出只出現一次的那兩個元素。 示例 : 輸入: [1,2,1,3,2,5] 輸出: [3,5] 注意: 結
LeetCode陣列-只出現一次的數字
只出現一次的數字 給定一個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。 說明: 你的演算法應該具有線性時間複雜度。 你可以不使用額外空間來實現嗎? 示例 1: 輸入: [2,2,1] 輸出: 1 示例 2: 輸
【leetcode】只出現一次的數字
只出現一次的數字 一、要求 給定一個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。 說明: 你的演算法應該具有線性時間複雜度。
leetcode 137. 只出現一次的數字 II
給定一個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現了三次。找出那個只出現了一次的元素。 說明: 你的演算法應該具有線性時間複雜度。 你可以不使用額外空間來實現嗎? 這種純數字計算的問題,如果我們只用加減乘除就能做出來,那leetcode就
LeetCode: 136. 只出現一次的數字(C++)
題目: 給定一個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。 說明: 你的演算法應該具有線性時間複雜度。 你可以不使用額外空間來實現嗎? 示例 1: 輸入: [2,2,1] 輸出: 1 示例 2: 輸入: [4,
LeetCode 136. 只出現一次的數字 Python
給定一個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。說明:你的演算法應該具有線性時間複雜度。 你可以不使用額外空間來實現嗎?示例 1:輸入: [2,2,1] 輸出: 1 示例 2:輸入: [4,1,2,1,2] 輸出: 4