問:陣列nums包含從0到n的所有整數,但其中缺了一個,請撰寫代碼找出那個缺失的整數,在O(n)時間內完成,
使用位運算子 ^ 來解決此問題
每一位都進行異或相同為0不同為1

一個數異或同一個數兩次,結果還是那個數,
題解思路:用x=0先與0到n個數進行異或然后在與陣列nums里的數進行異或最后得出缺失的整數,
int missingNumber(int* nums, int numsSize)
{
int x=0;
int i=0;
for(i=0;i<numsSize;i++)
{
x^=i;
}
for(i=0;i<numsSize;i++)
{
x^nums[i];
}
return x;
}
以上為leetcode消失的數字的題解,
歡迎大家評論留言,點贊支持和指正,感謝老鐵看到這里,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/323435.html
標籤:其他
上一篇:四步幫你搞定網路編程之第一步
