set vector 删除重复元素

 1 #include <iostream>
 2 #include<cstdio>
 3 #include <vector>
 4 #include <set>
 5 #include <iterator>
 6 using namespace std;
 7
 8 int main()
 9 {
10     set<int>s;
11     cout << "please input the number of vector‘s element " << endl;
12     int n;
13     cin >> n;
14     for (int i = 0; i < n; i++)
15     {
16         int temp;
17         cin >> temp;
18         s.insert(temp);
19     }
20     vector<int>v;
21     insert_iterator<vector<int> > in_it(v, v.begin());
22     copy(s.begin(), s.end(), in_it);
23     printf("%d\n",v.size());
24     for (vector<int>::iterator it = v.begin(); it != v.end(); it++)
25     {
26         cout << *it << " ";
27     }
28     return 0;
29 }
时间: 2024-11-10 07:42:10

set vector 删除重复元素的相关文章

C语言 &#183; 删除重复元素

算法提高 11-2删除重复元素 时间限制:10.0s   内存限制:256.0MB 问题描述 为库设计新函数DelPack,删除输入字符串中所有的重复元素.不连续的重复元素也要删除. 要求写成函数,函数内部使用指针操作. 样例输入 1223445667889 样例输出 13579 样例输入 else 样例输出 ls 数据规模和约定 字符串数组最大长度为100. 1 /* 2 思路: 3 将字符串存入字符数组a中,设将值拷贝给数组b,遍历b的每个元 4 素,与a中的每个元素比较,有相同则b中对应元

【LeetCode-面试算法经典-Java实现】【082-Remove Duplicates from Sorted List II(排序链表中删除重复元素II)】

[082-Remove Duplicates from Sorted List II(排序链表中删除重复元素II)] [LeetCode-面试算法经典-Java实现][所有题目目录索引] 原题 Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list. For example, Given 1->2->

CareerCup之2.1无序链表删除重复元素

[题目] 原文: 2.1 Write code to remove duplicates from an unsorted linked list. FOLLOW UP How would you solve this problem if a temporary buffer is not allowed? 译文: 从一个未排序的链表中移除重复的项 进一步地, 如果不允许使用临时的缓存,你如何解决这个问题? [分析] (1)如果可以使用额外的存储空间,我们就开一个数组来保存一个元素的出现情况.

iOS数组的去重,判空,删除元素,删除重复元素 等

一: 去重 有时需要将NSArray中去除重复的元素,而存在NSArray中的元素不一定都是NSString类型.今天想了想,加上朋友的帮助,想到两种解决办法,先分述如下. 1.利用NSDictionary的AllKeys(AllValues)方法 可以将NSArray中的元素存入一个字典,然后利用AllKeys或者AllValues取得字典的所有键或值,这些键或值都是去重的. 示例代码: NSArray *arr = @[@111,@222,@111]; NSMutableDictionary

数据结构之 线性表---单链表的操作B(先逆序+再删除重复元素)

数据结构上机测试2-2:单链表操作B Time Limit: 1000MS Memory limit: 65536K 题目描述 按照数据输入的相反顺序(逆位序)建立一个单链表,并将单链表中重复的元素删除(值相同的元素只保留最后输入的一个). 输入 第一行输入元素个数n: 第二行输入n个整数. 输出 第一行输出初始链表元素个数: 第二行输出按照逆位序所建立的初始链表: 第三行输出删除重复元素后的单链表元素个数: 第四行输出删除重复元素后的单链表. 示例输入 10 21 30 14 55 32 63

【C++】去除vector里重复元素的方法比较

背景:构造一个无重复的白名单,之后要在里面进行二分查找.故要求名单有序,且无重复,并且要进行二分查找,所以要采用有:随机访问迭代器类型的容器.这类容器有vector,array,deque.显然要vector和deque合适一点,但是deque并没有体现出其两端和中间插入时间为固定而非线性的优势,因为本例都在尾部插入,vector和deque同为固定时间.而deque的随机存储操作时间长,故采用vector. 一.利用STL算法unique 首先要将vector排序,排序后.利用erase配合u

list删除重复元素

方法一:循环元素删除// 删除ArrayList中重复元素public static void removeDuplicate1(List list) {for ( int i = 0 ; i < list.size() - 1 ; i ++ ) {for ( int j = list.size() - 1 ; j > i; j -- ) {if (list.get(j).equals(list.get(i))) {list.remove(j);}}}System.out.println(li

arrayList的合并以及删除重复元素

arrayList的合并: package listTest;//arrayList的合并 import java.util.ArrayList; public class arrayListTest { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub addList(); } private static void addList() { int i

Leetcode篇:删除重复元素

@author: ZZQ @software: PyCharm @file: removeDuplicates.py @time: 2018/9/23 13:51 要求: 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成. e.g.: 1) 给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1,