34 第乙個只出現一次的字元

2021-10-05 02:58:59 字數 875 閱讀 7248

知識點:字串、雜湊表

一、題目描述

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

二、思路

思路:建立乙個雜湊表,第一次掃瞄的時候,統計每個字元出現的次數。然後第二次掃瞄的時候,如果該字元出現的次數為1,則返回這個字元的位置。

c++**:

class solution 

//建立雜湊表

mapitem;

//第一次遍歷,統計每個字元出現的次數

for(int i=0; ipython**:

# -*- coding:utf-8 -*-

class solution:

def firstnotrepeatingchar(self, s):

if len(s) == 0:

return -1

item = {}#python中雜湊表map用字典實現

#第一次遍歷,統計每個字元出現的次數

for i in range(len(s)):

if s[i] not in item.keys():#建立的字典是個空字典,用if賦初值

item[s[i]] = 1

else:

item[s[i]] += 1#s[i]是key,次數為value

#第二次遍歷,查詢出現次數為1的字元,並返回位置

for i in range(len(s)):

if item[s[i]] == 1:

return i

return -1

34 第乙個只出現一次的字元

在乙個字串 0 字串長度 10000,全部由字母組成 中找到第乙個只出現一次的字元,並返回它的位置,如果沒有則返回 1 需要區分大小寫 leetcode對應題目 387.字串中的第乙個唯一字元 題目解答 總結 雜湊表雖然是無序的,但是可以根據string中元素進行查詢,第乙個出現次數為1的就是所求。...

第乙個只出現一次的字元

題目 在乙個字串中找到第乙個只出現一次的字元。如輸入 abaccdeff,則輸 出b。分析 這道題是 2006年google的一道筆試題。看到這道題時,最直觀的想法是從頭開始掃瞄這個字串中的每個字元。當訪問 到某字元時拿這個字元和後面的每個字元相比較,如果在後面沒有發現重複的字 符,則該字元就是只出...

第乙個只出現一次的字元

題目 在乙個字串中找到第乙個只出現一次的字元,並輸出它在字串中的位置。如輸入 abaccdeff,則輸出 b 1。定義乙個256長度的陣列,乙個用來記錄字元出現的次數。然後在遍歷字元陣列,如果該字元出現了一次,輸出並結束,否則繼續。include using namespace std 在乙個字串中...