给定数列中,从0-n,但是缺少一个数字i。求i为多少。
class Solution { public: int missingNumber(vector<int>& nums) { int sum = 0; int max = 0; bool isZero = false; for (int i = 0;i < nums.size(); i++) { sum += nums[i]; if (nums[i] >= max) { max = nums[i]; } if (nums[i] == 0) { isZero = true; } } int oSum = ( 0 + max ) * (max - 0 + 1) / 2; if (oSum == sum) { if (false == isZero) { return 0; } else { return max + 1; } } else { return oSum - sum; } } };