31、只出現一次的數字
給定一個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。
說明:
你的演算法應該具有線性時間複雜度。 你可以不使用額外空間來實現嗎?
示例 1:
輸入: [2,2,1]
輸出: 1
示例 2:
輸入: [4,1,2,1,2]
輸出: 4
思路:一開始拿到是沒有思路的,但是可以想到如果一個數字異或兩次那麼就是0,那麼如果最後的結果是什麼數字就是什麼了
我的程式碼
充分使用異或
^
class Solution { public int singleNumber(int[] nums) { int result = 0; for(int i = 0; i < nums.length; i++){ result = result ^ nums[i]; } return result; } }
排名較高,這套題很考驗符號的使用
相關推薦
31、只出現一次的數字
給定一個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。 說明: 你的演算法應該具有線性時間複雜度。 你可以不使用額外空間來實現嗎? 示例 1: 輸入: [2,2,1] 輸出: 1 示例 2: 輸入: [4,1,2,1,2]
陣列——5、只出現一次的數字
給定一個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。 示例1: 輸入:[2, 2, 1] 輸出:1 示例2: 輸入:[4, 1, 2, 1, 2] 輸出:4 > 思路:對陣列中所有數字採用異或運算,相同數字的異或結果
中金所面試題目之找出只出現一次數字
題目:n個int型數字,兩兩重複,只有一個是出現一次,找出它。 思路:^位異或操作,具有如下性質:1.交換律與結合律。2.自己與自己異或是0。3.自己與0異或是自己 程式碼: #include <
【劍指offer{31-34}】整數中1出現的次數(從1到n整數中1出現的次數)、把陣列排成最小的數、醜數、第一個只出現一次的字元
整數中1出現的次數(從1到n整數中1出現的次數) 題目描述 求出1-13的整數中1出現的次數,並算出100-1300的整數中1出現的次數?為此他特別數了一下1~13中包含1的數字有1、10、11、
數組中只出現一次的數字
java題目:一個整型數組裏除了兩個數字之外,其他的數字都出現了兩次。請寫程序找出這兩個只出現一次的數字。import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; //nu
只出現一次的數字
chang for result solution pan 一個 list enum res 給定一個非空整數數組,除了某個元素只出現一次以外,其余每個元素均出現兩次。找出那個只出現了一次的元素。 說明: 你的算法應該具有線性時間復雜度。 你可以不使用額外空間來實現嗎? 示
Leetcode-探索 | 只出現一次的數字
求和 時空 技巧 做的 計算 輸出 奇技淫巧 leetcode bsp 給定一個非空整數數組,除了某個元素只出現一次以外,其余每個元素均出現兩次。找出那個只出現了一次的元素。 說明: 你的算法應該具有線性時間復雜度。 你可以不使用額外空間來實現嗎? 示例 1: 輸入: [2
lc 只出現一次的數字 (異或運算)
for 出現一次 ati 時間 single 使用 val ret 一次 給定一個非空整數數組,除了某個元素只出現一次以外,其余每個元素均出現兩次。找出那個只出現了一次的元素。 說明: 你的算法應該具有線性時間復雜度。 你可以不使用額外空間來實現嗎? 異或解法: p
第十個算法-只出現一次的數字
出現 返回 ont 感覺 single 其余 lean 出現一次 運算符 給定一個非空整數數組,除了某個元素只出現一次以外,其余每個元素均出現兩次。找出那個只出現了一次的元素。 示例 1: 輸入: [2,2,1] 輸出: 1 示例 2: 輸入: [4,1,2,1,2] 輸
面試題:數組中只出現一次的數字
new ++ array ear style 哈希表 else 兩個 個數 題目描述:一個整型數組裏除了兩個數字之外,其他的數字都出現了偶數次。請寫程序找出這兩個只出現一次的數字。 方法1:哈希表 //num1,num2分別為長度為1的數組。傳出參數 //將num1[0]
數組中只出現一次的數字(java實現)
num 整型 根據 長度 問題 程序 oid [] 情況 問題描述 一個整型數組裏除了兩個數字之外,其他的數字都出現了偶數次。請寫程序找出這兩個只出現一次的數字。 解題思路 如果數組中只有一個數字出現奇數次,則將數組中所有的數字做異或可得該數字。 數組中有兩個數
137. 只出現一次的數字 II
clas 進制 數字 bsp 代碼 for turn color style 題目 給定一個非空整數數組,除了某個元素只出現一次以外,其余每個元素均出現了三次。找出那個只出現了一次的元素。 說明: 你的算法應該具有線性時間復雜度。 你可以不使用額外空間來實現嗎? 示例 1:
LeetCode--136--只出現一次的數字
實現 額外 比較 pre 整數 etc -- tco tro 問題描述: 給定一個非空整數數組,除了某個元素只出現一次以外,其余每個元素均出現兩次。找出那個只出現了一次的元素。 說明: 你的算法應該具有線性時間復雜度。 你可以不使用額外空間來實現嗎? 示例 1: 輸入: [
劍指offer之陣列中只出現一次的數字
1.題目描述 一個整型數組裡除了兩個數字之外,其他的數字都出現了偶數次。請寫程式找出這兩個只出現一次的數字。 2.問題分析 方法一: 可以使用map,統計每個數出現的次數,之後對兩個出現一次的數進行賦值 方法二: 這裡就數字的特性,首先我們需要知
260. 只出現一次的數字 III(建立一個字典+一種我不會的思路)
參考:https://blog.csdn.net/wem603947175/article/details/82117675 這道題很簡單,用字典的方法做的,但是我的字典實現超過時間限制。對比如下: (學習(*^▽^*)) # 通過,優於我的字典存取 # class Solution(
牛客網——陣列中只出現一次的數字
題目描述 一個整型數組裡除了兩個數字之外,其他的數字都出現了偶數次。請寫程式找出這兩個只出現一次的數字。 1實在沒想到什麼好的解決方法,就用TreeSet解決,因為底層是紅黑樹實現,增加,刪除結點是logn,所以複雜度為O(nlogn) package 劍指offer;
【leetcode】136.只出現一次的數字 c++實現
【leetcode】136.只出現一次的數字 c++實現 題目 給定一個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。 例1: 輸入: [2,2,1] 輸出: 1 例2 輸入: [4,1,2,1,2] 輸出: 4
陣列中只出現一次的數字 java
陣列中只出現一次的數字 java 題目描述 一個整型數組裡除了兩個數字之外,其他的數字都出現了偶數次。請寫程式找出這兩個只出現一次的數字。 程式碼1: //num1,num2分別為長度為1的陣列。傳出引數 //將num1[0],num2[0]設定為返回結果 i
位運算 -- 只出現一次的的數字
異或的兩個值'相同為假,不同為真'。 交換兩個整數的值時可以不用第三個引數 a = a ^ b ^ a = b b = b ^ a ^ b = a 一個只出現一次的數字。 一個整型數組裡除了一個數字之外,其他的數字都出現了偶數次。請寫程式找出這個只出現一次的數字。 public int oneNum
LeetCode-136 Single Number 只出現一次的數字
題目連結 https://leetcode-cn.com/problems/single-number/ 題意 中文題,題意很簡單。 題解 很有趣的一個題,最簡單粗暴的當然是開闢額外空間暴力計算了。題目限制很多:最多隻出