classSolution { public: intgetMissingNumber(vector<int>& nums){ int n = nums.size(); int sum = 0; for (auto x: nums) { sum += x; } return (n * (n + 1) >> 1) - sum; } };
classSolution { public: intmissingNumber(vector<int>& nums){ int j = nums.size(); int i = 0; while (i < j) { int m = (i + j) >> 1; if (m < nums.size() && nums[m] == m) { //如果是合法的,说明需要往后find. i = m + 1; } else { j = m; } } return i; } };
相关题目
寻找重复
给定一个包含 n + 1 个整数的数组 nums ,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。