Ⅰ
统计一个数字在排序数组中出现的次数
int search(vector<int>& nums, int target) {
int count = 0;
for (int num : nums) {
if (num == target) count++;
else if (num > target) break;
}
return count;
}
一趟遍历,效率不高,可以用二分改进,找到一个目标然后中心拓展
Ⅱ
输出下标和值不一致的下标就可以了
int missingNumber(vector<int>& nums) {
int res = nums.size();
for (int i = 0; i < nums.size(); i++) {
if (i != nums[i]) {
res = i;
break;
}
}
return res;
}
注意我这边的初始化int res = nums.size();