码迷,mamicode.com
首页 > 其他好文 > 详细

笔试练习

时间:2015-04-30 19:41:24      阅读:117      评论:0      收藏:0      [点我收藏+]

标签:

技术分享
 1 //去除重复字符并排序
 2 /*运行时间限制:无限制
 3 内容限制:      无限制
 4 输入:          字符串
 5 输出:          去除重复字符并排序的字符串
 6 样例输入:      aabcdefff
 7 样例输出:      abcdef
 8 */
 9 //思路:计数排序,复杂度o(n)
10 #include <iostream>
11 #include<ctime>
12 #include<string>
13 using namespace std;
14 int main()
15 {
16     string input;
17     int max,min,len;//确定多大桶,实现动态分配
18     int i;
19     char q=p;
20     
21     while(q==p)
22     {
23         cout<<"输入字符串:";
24         getline(cin,input);
25         if(input!="\0")
26         {
27             max=input[0];min=input[0];
28             for(i=0;i<input.size();i++)
29             {
30                 if (input[i]>max)
31                     max=input[i];
32                 if(input[i]<min)
33                     min=input[i];
34             }
35             len=max-min+1;
36             bool *C=new bool[len];//确定多大桶
37             for(i=0;i<len;i++)
38                 C[i]=false;        
39             for(i=0;i<input.size();i++)
40             {
41                 C[input[i]-min]=true;//去重并排序
42             }
43             for(i=0;i<len;i++)
44             {
45                 if (C[i])//输出
46                     cout<<char(min+i);
47             }
48         }
49         cout<<endl<<"是否继续输入(p继续):";
50         cin>>q;    
51     }
52 
53     return 0;
54 }
View Code

 

笔试练习

标签:

原文地址:http://www.cnblogs.com/fkissx/p/4469450.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!