华为2017校园招聘编程题——去除一段话字符串中重复单词
来源:互联网 发布:外贸服装行业数据分析 编辑:程序博客网 时间:2024/05/22 10:36
1. 题目
输入一行字符串语句,将其中重复单词(单词大小写区分)剔除,仅保留第一次出现的重复单词。不考虑符号。
输入样例:
you are a so so beautiful girl ! Can you tell me your name ?
输出样例
you are a so beautiful girl Can tell me your name
2. 分析
主要考虑对输入字符串流处理,先剔除一行语句中字符串干扰,然后一个一个单词从流中读入,保存到一个新的容器中。当读入一个新的单词和容器中单词遍历比较,遇到相同的则不保留。重复上述过程,一直读完字符串流为止。
3. C++程序
#include<iostream>#include<sstream>#include<string>#include<vector>#include<cctype>using namespace std;int main(){ string str("hello world"); string strA; bool flag; vector<string> vect; vector<string>::iterator isvec; getline(cin,str); for(int i=0; i<str.length();i++) { if(ispunct(str[i])) //cctype中函数,判断字符是否为符号 str[i] = ' '; } istringstream stream(str);//定义输入流(类似cin),只不过初始化,而不是人为输入 while(stream>>strA) //流中一个一个单词读入 { flag = false; for(isvec = vect.begin();isvec<vect.end();isvec++)//和容器中保存的单词遍历比较,相同的则剔除 { if(*isvec == strA) flag = true; } if(flag == false) vect.push_back(strA); } for(isvec = vect.begin();isvec<vect.end();isvec++) cout<<*isvec<<' '; cout<<endl; return 0;}
个人学习记录,由于能力和时间有限,如果有错误望读者纠正,谢谢!
转载请注明出处:CSDN 无鞋童鞋。
0 0
- 华为2017校园招聘编程题——去除一段话字符串中重复单词
- 2017校园招聘编程题——两个字符串中找到最大公共字符串
- 网易2017校园招聘编程题——暗黑字符串
- 字符串处理算法(八)将字符串中连续出席的重复字母进行压缩(华为校园招聘题)
- 2014华为校园招聘机试——字符串过滤
- 华为2017 校园招聘
- 2015届华为校园招聘机试题(去除重复字符并排序)
- 华为编程大赛——删除字符串中重复字符
- 2013华为校园招聘上机题——约瑟夫环
- 网易2017校园招聘编程题——分苹果
- 网易有道2017校园招聘编程题——洗牌
- 字符串处理转换(华为2013校园招聘上机笔试题 )
- 华为2012校园招聘上机编程题(1)
- 华为2012校园招聘上机编程题(2)
- 华为2012校园招聘上机编程题(3)
- 【C编程练习】2013华为校园招聘机试题目题5:将一个int类型的数字转化为字符串,并判断有无重复字符串(长度应大于2)有返回1,无返回2
- 2014华为校园招聘机试——字符串过滤、压缩等
- 华为2014校园招聘的机试题目解答——字符串压缩
- 微信分享时平台的选择
- listview按字母A-Z快速定位
- (四)充值-机房收费系统
- |洛谷|NOIP2010|动态规划|P1541 乌龟棋
- HDU 3333 Turing Tree 树状数组离线
- 华为2017校园招聘编程题——去除一段话字符串中重复单词
- 四种浏览器对 Document.Body 的 ClientHeight、OffsetHeight 和 ScrollHeight 的解释
- Linux的RMP指令
- Directed_MST 最小树形图
- BZOJ1098
- Firefox中自定义搜索引擎……
- CXF-03:使用CXF处理 JavaBean 式的复合类型和 List 集合类型的形参和返回值
- 坚持#第53天~国庆回家啦!
- 字节流InputStream