題目描述:
數組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:
將所有元素求和然後減去理論和,結果爲缺少的數字。