面試題50 第乙個只出現一次的字元

2021-08-22 14:48:29 字數 584 閱讀 8413

在乙個字串(0<=字串長度<=10000,全部由字母組成)中找到第乙個只出現一次的字元,並返回它的位置, 如果沒有則返回 -1(需要區分大小寫)

解題思路:字元(key)——字元出現的次數(value) -—— >雜湊表

1.第一遍遍歷陣列,找到每個字元對應的次數。輔助陣列下標key為陣列字元的ascii碼;輔助陣列的值value為字元出現的次數。ascii有256個字元,所以輔助陣列大小為256。

2.第二遍遍歷陣列,根據陣列的順序找到輔助陣列中第一次出現一次的字元並返回該字元的位置

解法1:輔助陣列:

int firstnotrepeatingchar(string str) ;

for(int i =0;ihashtime[str[i]]++;//下標為str[i]即ascii碼

for(int i =0;ireturn -1;

}

解法2:利用map容器

int firstnotrepeatingchar(string str)

return -1;

}

面試題50 第乙個只出現一次的字元

php 在字串 s 中找出第乙個只出現一次的字元。如果沒有,返回乙個單空格。示例 s abaccdeff 返回 b s 返回 class solution return 如果下標等於擷取他的長度一致,就說明他是第乙個首次出現的 strrpos 查詢 php 在字串中最後一次出現的位置 functio...

劍指 面試題50 第乙個只出現一次的字元

題目 在字串 s 中找出第乙個只出現一次的字元。如果沒有,返回乙個單空格。0 s len gt h 50000 0 s.length 50000 0 s len gth 5 0000 思路 雜湊表 c 建立乙個雜湊表存放每個字元出現的次數 unordered map python 1 用字典代表雜湊...

面試題35 第乙個只出現一次的字元

題目 在字串中找出第乙個只出現一次的字元。如輸入 abaccdeff 則輸出 b 看到這個題目,最直觀的想法就是就是遍曆法,也就是從頭開始取字串中的乙個字元,將其與其後的所有字元比較,如果有相同的字元,那麼就證明它不是只出現一次的字元。當第一次出現遍歷完其後字元並且沒有重複時,表明這個字元就是 第乙...