题解 | #没有出现的编号#
没有出现的编号
https://www.nowcoder.com/practice/875d705df65c401a905f574070e09320
考察的知识点:数组;
解答方法分析:
- 将数组进行排序,以便后续的处理。
- 初始化两个变量
ans[0]和ans[1]为 1 和 0。 - 遍历数组中的元素,对于每个元素进行判断:如果元素是负数,将其赋值给 ans[1]。如果元素是正数,判断其与 temp 是否相等:如果不相等,将 temp 赋值给 ans[0]。如果相等,将 temp 值增加1。
- 最后,将
temp的值赋给ans[0]。
所用编程语言:C++;
完整编程代码:↓
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param nums int整型vector
* @return int整型vector
*/
vector<int> findMissingAndMaxNegative(vector<int>& nums) {
vector<int> ans(2);
ans[0] = 1;
sort(nums.begin(), nums.end());
int temp = 1;
for (int i = 0; i < nums.size(); i++) {
if (nums[i] < 0) {
ans[1] = nums[i];
} else if (nums[i] > 0) {
if (nums[i] != temp) {
ans[0] = temp;
break;
}
temp++;
}
}
ans[0] = temp;
return ans;
}
};
海康威视公司福利 1407人发布