- 題目描述:
- 在一個字元串(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 ****************************************************************/