LeetCode:面試題 17.04. 消失的數字(C語言)

題目描述:
數組nums包含從0到n的所有整數,但其中缺了一個。請編寫代碼找出那個缺失的整數。你有辦法在O(n)時間內完成嗎?

注意:本題相對書上原題稍作改動

示例 1:

輸入:[3,0,1]
輸出:2

示例 2:

輸入:[9,6,4,2,3,5,7,0,1]
輸出:8

來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/missing-number-lcci
著作權歸領釦網絡所有。商業轉載請聯繫官方授權,非商業轉載請註明出處。
解答:

int missingNumber(int* nums, int numsSize){
    int sum = 0, i;
    for(i = 0; i < numsSize; i++){
        sum  += nums[i];
    }
    return ((numsSize * (1 + numsSize))/2) - sum;
}

運行結果:
在這裏插入圖片描述

Notes:
將所有元素求和然後減去理論和,結果爲缺少的數字。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章