您的位置:首页 > Web前端

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

2015-09-29 15:54 411 查看
题目描述:

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

输入有多组数据

每一组输入一个字符串。
输出:

输出第一个只出现一次的字符下标,没有只出现一次的字符则输出-1。
样例输入:
ABACCDEFF
AA

样例输出:
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
****************************************************************/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: