LeetCode题目记录-645. 错误的集合(C++代码实现)
Posted wyy_persist
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode题目记录-645. 错误的集合(C++代码实现)相关的知识,希望对你有一定的参考价值。
题目链接:645. 错误的集合 - 力扣(LeetCode) (leetcode-cn.com)
题目要求:
题目思路:
思路:见下方代码。
C++代码实现:
class Solution
public:
vector<int> findErrorNums(vector<int>& nums)
int n = nums.size();
sort(nums.begin(),nums.end());
vector<int> res;
for(int i = 0;i < n - 1;i ++)//得到其中重复的元素,加入到res数组中
if(nums[i] == nums[i + 1])
res.push_back(nums[i]);
break;
if(nums[0] != 1) //首先判断数组的第一个元素是不是1,不是的话直接将1加入到res数组中
res.push_back(1);
else//如果第一个元素是1,那么就是后续的元素出现了缺失,使用for循环遍历
for(int i = 1;i < n;i++)
if(nums[i] != nums[i - 1] + 1 && nums[i] != nums[i - 1])//如果后一个元素不是前一个元素值 + 1,且两个元素不相同(避免重复元素的统计),那么将前一个元素的值 + 1添加到res数组中
res.push_back(nums[i - 1] + 1);
break;
if(nums[n - 1] != n)//如果确实元素出现在了最后一个位置,那么将该元素添加到res数组中
res.push_back(n);
return res;
;
AC截图:
本题解仅作为个人复习查看使用,并无他用。
以上是关于LeetCode题目记录-645. 错误的集合(C++代码实现)的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode 645 错误的集合[Map 桶排序 双指针] HERODING的LeetCode之路
LeetCode 451. 根据字符出现频率排序 / 645. 错误的集合 / 726. 原子的数量 / NC52 括号序列 / NC102 最近公共祖先 / NC78 反转链表