问题标题: 酷町堂:1463 山重水复

0
0
已解决
胡景波
胡景波
中级光能
中级光能

1463   山重水复

题目描述 Description

古语有云:“山重水复疑无路,柳暗花明又一村。”
重复有时候并不是好事,会遮掩住我们所需要的信息。现有一个字符串,其中可能有一些重复的字符,请去掉该字符串中重复字符,使任意一个出现的字符只保留一个,并按照原来的顺序输出去重过后的字符串。

输入描述 Input Description

输入为一行,为一个待去重的字符串(长度不超过1000)。

输出描述 Output Description

输出为一行,为去重过后的字符串。

样例输入 Sample Input

 

zxyzzaabcdxy

样例输出 Sample Output

 

zxyabcd

PS:

昨天刚学桶去重

本想找题出气

90

90

#include<iostream>
using namespace std;
string s;
int b[10000];
int main(){
    cin>>s;
    for(int i=0;i<=s.size()-1;i++){
        b[s[i]]++;
    }
    for(int i=0;i<=s.size()-1;i++){
        if(b[s[i]]!=0){
            cout<<s[i];
            b[s[i]]=0; 
        }
    }
    return 0;
}

气呀


0
已采纳
张恩泽
张恩泽
高级天翼
高级天翼

加马赛克的地方:

1.加字符串头文件

2.定义字符串

3.遍历字符串

4.还是遍历字符串

5.桶清0

PS:这里的char a[256]是桶

祝你AC

 

 

 

望采纳!

0
丁博扬
丁博扬
中级天翼
中级天翼

    字符串 s;
    定义 a[256]={0};
    带空格输入(cin,s);
    循环(int i=0;i<s的长度;i++){
        a[(int)s[i]]++;
    }
    循环(int i=0;i<s长度;i++){
        如果(a[(int)s[i]]大于0) {
            输出<<s[i];
            a[(int)s[i]]=0;
        }
    }

丁博扬在2020-08-27 06:21:52追加了内容

望采纳,谢谢

0
0
余彦文
余彦文
初级光能
初级光能

你等一下,我帮你找找我的代码

0
余彦文
余彦文
初级光能
初级光能

错误找出来了,你的字符串里的数字不会输出

0
余彦文
余彦文
初级光能
初级光能

等等,这个要要用getline啊!!!!

我要回答