C++程序:删除重复的数!【回复可见】
本帖最后由 高山 于 2022-9-18 20:49 编辑原创声明:本帖为原创帖,欢迎大家转载
介绍:本帖将把一个数组里所有的重复数字全部删掉,仅保留最左边一个
输入说明:第一行为数组个数,第二行为数组内容
输出说明:结果
示例输入:
6
1 5 5 1 6 1示例输出:
3
5 6 1代码:
**** Hidden Message *****
源代码彩色版:
**** Hidden Message *****
演示视频:戳此查看
专辑推荐:
推荐的帖子:收录鱼C较好的帖子( 订阅传送门 )
每周一练系列:每周一练推送( 订阅传送门 )
柿子饼同学 发表于 2022-9-18 20:33
要不... 再介绍一下 unique函数?
直接给他上代码
不过和他的示例输出不一样,因为unique要求数据是有序的
#include <iostream>
#include <vector>
#include <algorithm>
using std::cin, std::cout, std::endl;
using std::vector;
using std::unique, std::sort;
using std::ostream;
ostream &operator<<(ostream &os, const vector<size_t> &v) {
for(const auto &i: v) os << i << " ";
return os;
}
int main(void) {
size_t n; cin >> n;
vector<size_t> v;
for(size_t i = 0; i < n; ++i) {
size_t temp; cin >> temp;
v.push_back(temp);
}
sort(v.begin(), v.end());
v.erase(unique(v.begin(), v.end()), v.end());
cout << v << endl;
return 0;
}
{:10_256:}{:10_256:}{:10_256:}希望坚持下去,很棒哦 @zhangjinxuan @元豪 @不二如是 @小伤口 求支持 支持 这么冷清? 要不... 再介绍一下 unique函数?{:10_254:} 高山 发表于 2022-9-18 20:31
@zhangjinxuan @元豪 @不二如是 @小伤口 求支持
支持!!{:5_108:} 柿子饼同学 发表于 2022-9-18 20:33
要不... 再介绍一下 unique函数?
额 呱一下 人造人 发表于 2022-9-18 20:48
直接给他上代码
不过和他的示例输出不一样,因为unique要求数据是有序的
好强 看看 O(n^2)很逊耶 明天写个O(N)的 不二如是 发表于 2022-9-18 21:03
希望坚持下去,很棒哦
感谢不二如是!!! 不二如是 发表于 2022-9-18 21:03
希望坚持下去,很棒哦
一定的!!! #include <bits/stdc++.h>
#define MAX 100000
using namespace std;
unordered_map<int, bool> number;
int n, cnt = 0, res, x;
int main() {
scanf("%d", &n);
for (int i = 1; i <= n; ++i) {
scanf("%d", &x);
if (!number) {
res[++cnt] = x;
number = 1;
}
}
printf("%d\n", cnt);
for (int i = 1; i <= cnt; ++i)
printf("%d ", res);
}
运用了unordered_map来查看是否重复,但最后输出有些不一样 zhangjinxuan 发表于 2022-9-19 18:49
运用了unordered_map来查看是否重复,但最后输出有些不一样
eng 高山 发表于 2022-9-19 18:50
eng
eng 来看看。。。
页:
[1]
2