11 错误的集合

news/2024/11/14 12:05:52/

11 错误的集合

作者: Turbo时间限制: 1S章节: 课程设计

问题描述 :

集合 s 包含从 1 到 n 的整数,并且按升序排列。不幸的是,因为数据错误,导致集合里面某一个数字复制了成了集合里面的另外一个数字的值,导致集合 丢失了一个数字 并且 有一个数字重复 。

给定一个数组 nums 代表集合 S 发生错误后的结果。

请你找出重复出现的整数,再找到丢失的整数。

示例 1:

输入:

4

1 2 2 4

输出:

2 3

示例 2:

输入:

2

1 1

输出:

1 2

输入说明 :

输入两行:

第一行为一个整数n代表数组nums的长度。

第二行输入n个整数代表数组nums的元素。

提示:

    2 <= n <= 10^4

    1 <= nums[i] <= 10^4

输出说明 :

输出一行两个整数表示结果,整数间用空格隔开。第一个表示重复出现的整数,第二个表示丢失的整数。

输入范例 :

5
1 1 3 4 5

输出范例 :

1 2 

可能数组的编码 和序号套中套 有点难以理解 其实简单来说 也用了哈希表的知识(用了一个辅助数组haxiarr来记录 数据和他的arr下标记)

下面是正确的AC代码

#include<iostream>
#include<algorithm>
using namespace std;struct haxi
{int total = 0;int data1 = 0;int data2 = 0;int number1 = 0;int number2 = 0;
};
bool cmp(haxi x, haxi y)
{return x.total > y.total;
}
int main()
{int n = 0;cin >> n;int arr[10001];haxi haxiarr[10001];for (int i = 0; i < n; i++){cin>>arr[i];if (haxiarr[arr[i]].total > 0){haxiarr[arr[i]].data2 = arr[i];haxiarr[arr[i]].number2 = i;haxiarr[arr[i]].total++;}else{haxiarr[arr[i]].data1 = arr[i];haxiarr[arr[i]].number1 = i;haxiarr[arr[i]].total++;}}sort(haxiarr, haxiarr + 10000, cmp);if (haxiarr[0].data2 < arr[haxiarr[0].number2 - 1])//情况举例//1 1 3 4 5{cout << haxiarr[0].data1 << " ";cout << ++arr[haxiarr[0].number2 - 1] << " ";}else if(haxiarr[0].data2>arr[haxiarr[0].number2-1])//1 2 3 6 5 6 7 8 9 10{cout << haxiarr[0].data1 << " ";cout << ++arr[haxiarr[0].number1 - 1] << " ";}else if (haxiarr[0].data1 == arr[haxiarr[0].number2 - 1]){cout << haxiarr[0].data1 << " ";cout << ++haxiarr[0].data1 << " ";}return 0;}


http://www.ppmy.cn/news/539963.html

相关文章

如何解决应用安装失败错误码-13的问题

今天遇到一个问题&#xff0c;有用户反馈从华为应用市场下载一个新应用时&#xff0c;提示安装失败。 打开提示信息&#xff0c;查看失败详情。看到具体的失败信息是Conflicting Provider&#xff0c;Error Code&#xff1a;-13。另外系统还提示了和产生冲突的应用名称以及推荐…

发生未知错误,请确认!系统发生错误,错误代码:0x80070005,请联系当地经销商或者致电xxxxxxx-xxx

/* --********软件安全相关处理********** DECLARE ProInfoname VARCHAR(6) SELECT ProInfoname CASE SubValue WHEN 1 THEN V3 WHEN 2 THEN A8 WHEN 4 THEN V1 ELSE END FROM dbo.sysdata WHERE SubName ProInfo IF EXISTS(SELECT TOP 1 1 FROM sysd…

关于“未指定的错误”解答

Microsoft JET Database Engine未指定的错误错误提示为 Microsoft JET Database Engine (0x80004005) 未指定的错误昨天从win2003转到winxp pro版&#xff0c;但是在调试相册程序时&#xff0c;发现上面的错误&#xff0c;这个错误困扰我今天一天时间了&#xff0c;一直找不到解…

微软错误代码

2.1 中文0 操作成功完成。1 功能错误。2 系统找不到指定的文件。3 系统找不到指定的路径。4 系统无法打开文件。5 拒绝访问。6 句柄无效。7 存储控制块被损坏。8 存储空间不足&#xff0c;无法处理此命令。9 存储控制块地址无效。10 环境错误。11 试图加载格式错误的程序。12 …

13.错误处理

Rust中的错误处理 可恢复错误 向用户报告错误和重试操作是合理操作&#xff0c;例如找不到文件 不可恢复错误 bug&#xff0c;例如访问数组超过数组结尾位置 panic! 和不可恢复的错误 在执行panic!宏的时候&#xff0c;程序打印出错误信息&#xff0c;展开并且清理栈数据…

rock游戏服务器显示未知错误,rockstar未知错误 | 手游网游页游攻略大全

发布时间&#xff1a;2015-10-24 三国志13玩不了怎么办 三国志13未知错误问题.有玩家下载了正版三国志13但是出现玩不了的情况,提示未知错误,下面99单机网小编给大家介绍三国志13玩不了怎么办. 如果购买了三国志13正版,运行时出现提示未知错误,那么肯 ... 标签&#xff1a; 游戏…

苹果刷机未知错误75_新一轮的测试开始!| 苹果发布 iOS 13.3.1 首个开发者测试版...

苹果在上周发布了 iOS 13.3 正式版&#xff0c;为屏幕使用时间增加了通信限制功能。一周后的今天&#xff0c;苹果发布了 iOS 13.3.1 和 iPadOS 13.3.1 首个开发者测试版。 更新内容 此前 iOS 13.3 正式版屏幕时间存在漏洞&#xff0c;当未知号码发送短信到设备上时&#xff0c…

百度网盘:未知错误播放失败1000

今天打开百度网盘出现这个错误&#xff1a;“百度网盘&#xff1a;未知错误播放失败1000” 方法一&#xff08;网上搜的&#xff09;&#xff1a; 自己用的是手机和平板打开视频&#xff0c;这样是能正常观看的&#xff0c;所以觉得是由于电脑百度云版本过旧导致的&#xff0…