在一個字符串中找到第一個只出現一次的字符(17)

第17題:
題目:在一個字符串中找到第一個只出現一次的字符。如輸入abaccdeff,則輸出b。 
分析:這道題是2006年google的一道筆試題。

 

/*
  Name: 
  Copyright: 
  Author: 
  Date: 15-06-11 12:05
  Description: :在一個字符串中找到第一個只出現一次的字符。如輸入abaccdeff,則輸出b
*/
#include<iostream>
#include<iomanip>
using namespace std;


int main()
{
  
    char s[]="abbadsSsfayjuioyopgaAWDDERRGTHRccdeff";
    int a[150];
    memset(a,0,sizeof(int)*150);
    const int len=strlen(s);
    int t;
    for(int i=0;i<len;i++)
    {
       a[s[i]]++;
    }
    for(int i=0;i<len;i++)
    {
        if(a[s[i]]==1)
          {
          cout<<s[i]<<endl;
          break;
          }
    }
    system("pause");
    return 0;
    }

 

分析:算法的複雜度爲O(n)。開闢的整數數組大小爲150,利用字符的ASCII碼做索引。


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章