leetcode268. 缺失数字
生活随笔
收集整理的這篇文章主要介紹了
leetcode268. 缺失数字
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
給定一個(gè)包含 0, 1, 2, ..., n?中?n?個(gè)數(shù)的序列,找出 0 .. n?中沒(méi)有出現(xiàn)在序列中的那個(gè)數(shù)。
示例 1:
輸入: [3,0,1]
輸出: 2
示例?2:
輸入: [9,6,4,2,3,5,7,0,1]
輸出: 8
說(shuō)明:
你的算法應(yīng)具有線性時(shí)間復(fù)雜度。你能否僅使用額外常數(shù)空間來(lái)實(shí)現(xiàn)?
眾所周知,0和x異或等于x本身,x和x異或等于0,并且異或滿足交換律。
所以把1-n異或一遍,把所有數(shù)也異或一遍,剩下的數(shù)字就是缺的。
class Solution {public int missingNumber(int[] nums) {int missing = nums.length;for (int i = 0; i < nums.length; i++) {missing ^= i ^ nums[i];}return missing;} }?
總結(jié)
以上是生活随笔為你收集整理的leetcode268. 缺失数字的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: leetcode155. 最小栈
- 下一篇: leetcode161. 相隔为 1 的