给定含有 n 个整数的序列,要求对这个序列进行去重操作。所谓去重,是指对这个序列中每个重复出现的数,只保留该数第一次出现的位置,删除其余位置。 输入 输入包含两行: 第一行包含一个正整数 n(1 ≤ n ≤ 20000),表示第二行序列中数字的个数。 第二行包含 n 个整数,整数之间以一个空格分开。每个整数大于等于 1、小于等于 5000。 输出 输出只有一行,按照输入的顺序输出其中不重复的数字,整数之间用一个空格分开。c++
```cpp #include <iostream> #include <vector> #include <unordered_set> int main() { int n; std::cin >> n; std::vector<int> nums(n); std::unordered_set<int> uniqueNums; // 读取输入的整数序列 for (int i = 0; i < n; ++i) { std::cin >> nums[i]; } // 遍历序列,输出不重复的数字 for (int i = 0; i < n; ++i) { if (uniqueNums.find(nums[i]) == uniqueNums.end()) { std::cout << nums[i]; uniqueNums.insert(nums[i]); if (i < n - 1) { std::cout << " "; } } } std::cout << std::endl; return 0; } ``` 代码解释 1. 输入读取:先读取整数`n`,它代表序列中数字的数量。接着用`std::vector<int>`存储这`n`个整数。 2. 去重操作:利用`std::unordered_set<int>`存储已经出现过的数字。在遍历输入的整数序列时,检查当前数字是否已经在`unordered_set`中。若不在,说明这是该数字首次出现,将其输出并插入到`unordered_set`中。 3. 输出格式:每个不重复的数字之间用一个空格分隔,最后换行。 [2026-02-06 20:42:50 | AI问答 | 353点数解答]
- [字节豆包] 题目描述 在甜甜圈王国中,每颗甜甜圈都有一个甜度值 S 来衡量其甜蜜程度。根据甜度的不同,甜甜圈被评定为不同的等级,具体规则如下: 如果 S 在 0 到 25 之间(包含 0 和 25 ),输出 "普通甜甜圈"; 如果 S 在 26 到 50 之间(包含 26 和 50 ),输出 "美味甜甜圈"; 如果 S 在 51 到 75 之间(包含 51 和 75 ),输出 "极品甜甜圈"; 如果 S 在 76 到 99 之间(包含 76 和 99 ),输出 "绝世甜甜圈"; 如果 S 等于 100 ,输出 "传说甜甜圈"。 请根据给定的甜度值 S,输出对应的甜甜圈等级名称。 输入格式 一行一个整数 S,表示甜甜圈的甜度值。(243点数解答 | 2025-12-06 18:35:50)61
- 用java设计一个银行类和帐户类,成员变量包括账号、存款余额、交易记录等帐户信息,成员方法包括存款、取款、查询交易记录操作。( bank类中可包含多个账户,可增加其它操作如修改密码等,账户类中可实现添加,删除账户等操作) 运行效果如下: 1、存款业务 2、取款业务 3、显示交易记录 4、退出业务办理 请输入对应的数字选择相应的业务:1 你的余额为:0 请输入你要存款的数目:5000 你已存入:5000元 你的余额为:5000 请输入对应的数字选择相应的业务:2 你的余额为:5000 你可以取款的最多数目为:5000 请输入你要取款的数目:500 你已取走500元 你的余额为:4500 请输入对应的数字选择相应的业务:2 你的余额为:4500 你可以取款的最多数目为: 4500 请输入你要取款的数目:5000 取款失败! 请重新输入你的余额为:4500 请输入对应的数字选择相应的业务:3 交易记录 余额: 5000 星期四 三月08 11:46 : 10 cst 2018存入:5000元 余额: 4500 星期四 三月08 11 : 46 : 19 cst 20(363点数解答 | 2024-04-05 11:43:57)369
- 用java设计一个银行类和帐户类,成员变量包括账号、存款余额、交易记录等帐户信息,成员方法包括存款、取款、查询交易记录等操作。 运行效果如下: 1、存款业务 2、取款业务 3、显示交易记录 4、退出业务办理 请输入对应的数字选择相应的业务:1 你的余额为:0 请输入你要存款的数目:5000 你已存入:5000元 你的余额为:5000 请输入对应的数字选择相应的业务:2 你的余额为:5000 你可以取款的最多数目为:5000 请输入你要取款的数目:500 你已取走500元 你的余额为:4500 请输入对应的数字选择相应的业务:2 你的余额为:4500 你可以取款的最多数目为: 4500 请输入你要取款的数目:5000 取款失败! 请重新输入你的余额为:4500 请输入对应的数字选择相应的业务:3 交易记录 余额: 5000 星期四 三月08 11:46 : 10 cst 2018存入:5000元 余额: 4500 星期四 三月08 11 : 46 : 19 cst 2018取出:500元。 余额: 4000 星期四 三月08 11 : 46 : 34 cst(363点数解答 | 2024-04-05 11:49:01)334
- [字节豆包] 给定一个包含 个元素的**整数**序列 ,记作 。 求另一个包含 个元素的待定**整数**序列 ,记 ,使得 且 尽可能的小。 输入 第一行一个整数 ,表示序列元素个数。 第二行 个整数,表示序列 。 输出 一行一个整数,表示 的前提下 的最小值。 样例输入 复制 2 4059 -1782 样例输出 复制 99 提示 对于 的数据, , ,且 序列不全为 来源/分类(746点数解答 | 2026-01-24 13:14:40)31
- java设计一个银行类和帐户类,成员变量包括账号、存款余额、交易记录等帐户信息,成员方法包括存款、取款、查询交易记录等操作。( bank类中可包含多个账户,可增加其它操作如修改密码等,账户类中可实现添加,删除账户等操作) bank类: account record account_num login dismenu savemoney deposit displayrecord account类: name psd balance 运行效果如下: 1、存款业务 2、取款业务 3、显示交易记录 4、退出业务办理 请输入对应的数字选择相应的业务:1 你的余额为:0 请输入你要存款的数目:5000 你已存入:5000元 你的余额为:5000 请输入对应的数字选择相应的业务:2 你的余额为:5000 你可以取款的最多数目为:5000 请输入你要取款的数目:500 你已取走500元 你的余额为:4500 请输入对应的数字选择相应的业务:2 你的余额为:4500 你可以取款的最多数目为: 4500 请输入你要取款的数目:5000 取款失败! 请重新输入你的余额为:45(363点数解答 | 2024-04-05 11:42:16)360
- [字节豆包] 题目描述 Q老师在班级中管理着同学们的成绩。你需要帮助Q老师完成以下两项任务: 修改某个同学的成绩,需要给出学生编号 num (编号从 1 开始)和修改后的成绩 grade。 查看所有同学的成绩。 Q老师会给你所有同学的成绩,接下来会有若干操作,根据操作的类型来修改成绩或查看所有成绩。 输入格式 第一行输入整数 n,表示学生人数。 接下来输入 n 行,每行输入一个学生的成绩(整数)。 然后输入整数 m,表示接下来有 m 个操作。操作有两种: update 操作:修改某个学生的成绩,接下来输入学生编号 num( 1≤num≤n)和修改后的成绩 grade。 view_all 操作:输出当前所有学生的成绩。 输出格式 对于每个 view_all 操作,输出当前所有学生的成绩列表。(191点数解答 | 2025-12-20 20:55:41)46
- [字节豆包] Q老师在班级中管理着同学们的成绩。你需要帮助Q老师完成以下两项任务: 修改某个同学的成绩,需要给出学生编号 num (编号从 1 开始)和修改后的成绩 grade。 查看所有同学的成绩。 Q老师会给你所有同学的成绩,接下来会有若干操作,根据操作的类型来修改成绩或查看所有成绩。 输入格式 第一行输入整数 n,表示学生人数。 接下来输入 n 行,每行输入一个学生的成绩(整数)。 然后输入整数 m,表示接下来有 m 个操作。操作有两种: update 操作:修改某个学生的成绩,接下来输入学生编号 num( 1≤num≤n)和修改后的成绩 grade。 view_all 操作:输出当前所有学生的成绩。 输出格式 对于每个 view_all 操作,输出当前所有学生的成绩列表。(326点数解答 | 2025-12-27 20:48:12)40
- [字节豆包] 你要开始一场数轴旅行,初始时,你所在的位置为 � = 0 x=0 ,你想要去 � = � x=d 位置。 给定 � n 个整数 � 1 , � 2 , . . . , � � a 1 ,a 2 ,...,a n ,表示每次你可以往左移动 � � a i 个单位或往右移动 � � a i 个单位。 请问,最终能否到达 � = � x=d 位置?能则输出 Yes,不能输出 No。 输入 输入共两行: 第一行,两个整数 n,d 第二行,n 个正整数 输出 输出能否达到最终目标位置。 样例输入 复制 2 -4 6 8 样例输出 复制 Yes 提示 对于 30 % 30% 的数据,满足 1 ≤ � ≤ 10 1≤n≤10, 1 ≤ � � ≤ 10 1≤a i ≤10, − 20 ≤ � ≤ 20 −20≤d≤20。 对于 60 % 60% 的数据,满足 1 ≤ � ≤ 1 0 3 1≤n≤10 3 , 1 ≤ � � ≤ 1 0 3 1≤a i ≤10 3 , − 1 0 4 ≤ � ≤ 1 0 4 −10 4 ≤d(225点数解答 | 2026-01-23 19:51:03)28
- [字节豆包] 用Java输出:# 读取输入的三个浮点数 a, b, c a, b, c = map(float, input().split()) # 计算根的判别式 delta delta = b ** 2 - 4 * a * c if delta > 0: # 当 delta 大于 0 时,方程有两个不同的解 x1 = (-b + delta ** 0.5) / (2 * a) x2 = (-b - delta ** 0.5) / (2 * a) # 按照格式输出结果,保留两位小数 print(f"x1={x1:.2f} x2={x2:.2f}") elif delta == 0: # 当 delta 等于 0 时,方程有一个解 x1 = -b / (2 * a) # 按照格式输出结果,保留两位小数 print(f"x1={x1:.2f}") else: # 当 delta 小于 0 时,方程无解 print("No answer") (329点数解答 | 2025-12-10 22:05:16)32
- [阿里通义] 一个 5×6 的迷宫样例如下: 要求给出从起点(1,1)到终点(3,4)的路径。 为了处理方便,保证最外圈全都为障碍物。 扩展到一般情况,一个 m×n 的迷宫,要求输出从起点(1,1)到终点(m-2,n-2)的路径。 测试实例保证路径是唯一的。 该题要求自行设计一个栈来做。如果设计的是顺序栈,则保证栈的大小不超过 200 个元素。 输入 第一行为两个整数 m 和 n,表示 m×n 的迷宫。 接下来有 m 行,每行有 n 个数(n 个数之间用空格间隔,值 = 0 表示可以通行,值 = 1 表示为障碍物) 输出 输出从起点到终点的路径,每个坐标占一行,坐标间的行号和列号用一个空格间隔。具体格式可参考样例。c++ 源代码(732点数解答 | 2024-11-03 02:34:53)500
- [DeepSeek] 给定长为 n 的整数序列 a。 您可以对这个序列进行若干次(可以为 0 次)操作,每次操作形如: 选定满足 1≤i,j≤n 的下标 i 和 j,将 a i 赋值为 a i +1,同时将 a j 赋值为 a j −1。i 和 j 不能相同。 求使得前缀和之和等于后缀和之和的最小操作次数。 也就是说,令 s i =a 1 +a 2 +⋯+a i ,t i =a i +a i+1 +⋯+a n ,有 s 1 +s 2 +⋯+s n =t 1 +t 2 +⋯+t n 。 注意,a i 可以变为负数。 输入格式 第一行一个整数 n。 第二行用空格隔开的 n 个整数,表示 a 序列。 输出格式 输出一行一个整数表示最小操作次数。 若无解,输出 −1。(1329点数解答 | 2025-05-25 17:27:01)206
- [DeepSeek] 给定长为 n 的整数序列 a。 您可以对这个序列进行若干次(可以为 0 次)操作,每次操作形如: 选定满足 1≤i,j≤n 的下标 i 和 j,将 a i赋值为 a i+1,同时将 a j赋值为 a j−1。i 和 j 不能相同。 求使得前缀和之和等于后缀和之和的最小操作次数。 也就是说,令 s i=a 1+a 2+⋯+a i,t i=a i+a i+1+⋯+a n,有 s 1+s 2+⋯+s n=t 1+t 2+⋯+t n。 注意,a i可以变为负数。 输入格式 第一行一个整数 n。 第二行用空格隔开的 n 个整数,表示 a 序列。 输出格式 输出一行一个整数表示最小操作次数。 若无解,输出 −1。c++(532点数解答 | 2025-05-25 17:27:47)230