算法提高 11-2删除重复元素
2017-03-27 19:16
375 查看
算法提高 11-2删除重复元素
时间限制:10.0s 内存限制:256.0MB
问题描述
为库设计新函数DelPack,删除输入字符串中所有的重复元素。不连续的重复元素也要删除。
要求写成函数,函数内部使用指针操作。
样例输入
1223445667889
样例输出
13579
样例输入
else
样例输出
ls
数据规模和约定
字符串数组最大长度为100。
想到的第一个是用map做,能够去掉重复元素,但是我忘记了map有自动排序的功能,好吧,之前是觉得只有set有呢,后来只能把它存到一个vector数组里,如果发现有重复的元素,就用vector的函数erase去掉,用#include<algorithm>中的find函数找到这个s[i],去掉就可以了,这题真是充分复习了stl库,汗颜。
用map做的自动排序:
时间限制:10.0s 内存限制:256.0MB
问题描述
为库设计新函数DelPack,删除输入字符串中所有的重复元素。不连续的重复元素也要删除。
要求写成函数,函数内部使用指针操作。
样例输入
1223445667889
样例输出
13579
样例输入
else
样例输出
ls
数据规模和约定
字符串数组最大长度为100。
想到的第一个是用map做,能够去掉重复元素,但是我忘记了map有自动排序的功能,好吧,之前是觉得只有set有呢,后来只能把它存到一个vector数组里,如果发现有重复的元素,就用vector的函数erase去掉,用#include<algorithm>中的find函数找到这个s[i],去掉就可以了,这题真是充分复习了stl库,汗颜。
用map做的自动排序:
#include<iostream> #include<cstdio> #include<cstring> #include<map> #include<vector> #include<algorithm> using namespace std; int main() { string s; cin>>s; map<char,int> m; for(int i=0;i<s.length();i++) { m[s[i]]++; } map<char,int>::iterator it; for(it=m.begin();it!=m.end();it++) { if(it->second==1) { printf("%c",it->first); } } return 0; }
ac代码如下
#include<iostream> #include<cstdio> #include<cstring> #include<map> #include<vector> #include<algorithm> using namespace std; int main() { string s; cin>>s; map<char,int> m; vector<char>b; for(int i=0;i<s.length();i++) { if(m[s[i]]==0) { b.push_back(s[i]); m[s[i]]=1; } else { b.erase(find(b.begin(),b.end(),s[i])); } } for(int i=0;i<b.size();i++) { printf("%c",b[i]); } return 0; }
相关文章推荐
- 算法提高 11-2删除重复元素
- 算法提高 11-2删除重复元素
- 算法提高 11-2删除重复元素
- 蓝桥杯 算法提高 11-2删除重复元素
- 蓝桥杯ADV-228——算法提高 删除重复元素
- 算法22:给定一个排好序的linked list,删除其中所有的重复元素。比如给定1->2->3->3-> 4->4->5,返回1->2->5。给定1->1->1->2->3,返回2->3
- JavaScript删除数组重复元素的5个高效算法
- JavaScript删除数组重复元素的5个高效算法
- 左程云著算法与数据结构题目最优解笔记-删除无序链表中重复的元素
- 【LeetCode-面试算法经典-Java实现】【082-Remove Duplicates from Sorted List II(排序链表中删除重复元素II)】
- JavaScript实现删除数组重复元素的5种常用高效算法总结
- 【算法】删除相邻的重复元素
- 【LeetCode-面试算法经典-Java实现】【026-Remove Duplicates from Sorted Array(删除排序数组中的重复元素)】
- lintcode&九章算法——100. 删除有序数组里的重复元素 ? 待解决
- 3597 Problem F 算法2-25 有序单链表删除重复元素
- 算法:有序数组删除重复元素,和查找等值键的问题
- JavaScript删除数组重复元素的5个高效算法
- C++ 泛型算法unique 和unique_copy :删除相邻的重复元素
- JavaScript删除数组重复元素的5个高效算法
- JavaScript删除数组重复元素的5个高效算法