[九度OnlineJudge][剑指Offer]题目1283:第一个只出现一次的字符

来源:互联网 发布:基因优化液 编辑:程序博客网 时间:2024/05/16 08:54
题目描述:

在一个字符串(1<=字符串长度<=10000,全部由大写字母组成)中找到第一个只出现一次的字符。

输入:

输入有多组数据
每一组输入一个字符串。

输出:

输出第一个只出现一次的字符下标,没有只出现一次的字符则输出-1。

样例输入:
ABACCDEFFAA
样例输出:
1-1
#include <iostream>#include <string>#include <cstdio>#include <cstring> using namespace std; int main(){    //freopen("input.txt","r",stdin);  //只加这一句输入将被重定向到文件input.txt    string input;    int count[26];    memset(count,0,26);     while(cin>>input)    {//      count[26]={0};这是什么鬼?只有定义事可以这样顺便初始化        memset(count,0,26);//记得清除上次运算结果        for(int i=0;i<input.length();i++)        {            count[input.at(i)-'A']++;        }        bool no_exit=true;        for(int i=0;i<input.length();i++)        {            if(count[input.at(i)-'A']==1)            {                no_exit=false;                cout<<i<<endl;                break;            }        }        if(no_exit)cout<<-1<<endl;    }    return 0;}/**************************************************************    Problem: 1283    User: fuestck    Language: C++    Result: Accepted    Time:80 ms    Memory:1520 kb****************************************************************/


0 0