没有合适的资源?快使用搜索试试~ 我知道了~
错误的集合(找重复数字+丢失数字)1
需积分: 0 0 下载量 75 浏览量
2022-08-03
15:54:07
上传
评论
收藏 497KB PDF 举报
温馨提示
试读
2页
示例 1:输出:[2,3]示例 2:输出:[1,2]vector<int> findErrorNums(vector<int>& nums) {//先排序,保证
资源详情
资源评论
资源推荐
错误的集合
集合 s 包含从 1 到 n 的整数。不幸的是,因为数据错误,导致集合里面某一个数字复制了成了
集合里面的另外一个数字的值,导致集合 丢失了一个数字 并且 有一个数字重复 。
给定一个数组 nums 代表了集合 S 发生错误后的结果。
请你找出重复出现的整数,再找到丢失的整数,将它们以数组的形式返回。
示例 1:
输入:nums = [1,2,2,4]
输出:[2,3]
示例 2:
输入:nums = [1,1]
输出:[1,2]
class Solution {
public:
vector<int> findErrorNums(vector<int>& nums) {
sort(nums.begin(), nums.end());//先排序,保证重复元素相邻
int len=nums.size();
vector<int> ans;
int repe=-1;//记录重复元素
int lost=-1;//记录丢失元素
for(int j=0;j<len-1;j++)
{
if(nums[j]==nums[j+1])
{
repe=nums[j];
}
if(nums[j+1]-nums[j]>1)
{
lost=nums[j]+1;
}
if(repe!=-1&&lost!=-1)
break;
}
//先放重复元素,再放丢失元素【1,3,3】 ->【3,2】
if(repe!=-1)
ans.push_back(repe);
if(lost!=-1)
创业青年骁哥
- 粉丝: 18
- 资源: 341
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Screenshot_2024-05-21-17-06-42-64_2332cb9b27b851b548ba47a91682926c.jpg
- 毕业设计参考 - 基于树莓派、OpenCV及Python的人脸识别
- node-v18.20.2-linux-arm64
- 222222222222
- 16张相机标定图片,可复现本文畸变矫正
- dbeaver-ce-23.3.1-x86_64-setup.zip
- 基于X86 AVX2指令的快速卷积实现
- VMware-ESXi-7.0U3n-21930508-depot.zip文件
- MySQL 在 Windows 系统下的安装教程.zip
- Access文件数据库访问的客户端
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0