Missing Number

Given an array containing n distinct numbers taken from 0, 1, 2, ..., n, find the one that is >missing from the array.

For example,
Given nums = [0, 1, 3] return 2.

在有范圍的n個數(shù)中找出沒有出現(xiàn)的哪一個,那么其他的數(shù)字都出現(xiàn)了一遍,申請一個空間為O(n)的標(biāo)志位數(shù)組flag[],初始化為0,遍歷nums[],令 flag[nums[i]-1] = 1,最后找出0對應(yīng)的index。

代碼
int missingNumber(vector<int>& nums) {
        vector<int> flag(nums.size()+1, 0);
        for(int num:nums){
            flag[num] = 1;
        }
        for(int i=0; i<flag.size()+1; i++){
            if(flag[i] == 0){
                return i;
            }
        }
    }

位操作方法

XOR異或的方法:abb = a

int missingNumber(vector<int>& nums) {
        int result = nums.size();
        int i=0;
        
        for(int num:nums){
            result ^= num;
            result ^= i;
            i++;
        }
        
        return result;
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容