字元流中第乙個不重複的字元

2021-10-03 11:49:25 字數 1369 閱讀 2042

題目:

請實現乙個函式用來找出字元流中第乙個只出現一次的字元。例如,當從字元流中只讀出前兩個字元"go"時,第乙個只出現一次的字元是"g"。當從該字元流中讀出前六個字元「google"時,第乙個只出現一次的字元是"l"。

如果當前字元流沒有存在出現一次的字元,返回#字元。

思路一:

雜湊**:

class

solution

:# 返回對應char

def__init__

(self)

: self.s =

'' self.dic =

def(self)

:# write code here

for i in self.s:

if self.dic[i]==1

:return i

return

'#'def

insert

(self, char)

:# write code here

self.s += char

if self.s[-1

]not

in self.dic:

self.dic[self.s[-1

]]=1

else

: self.dic[self.s[-1

]]+=1

思路二:

陣列+佇列(也算一種雜湊)

**:

class

solution

:# 返回對應char

def__init__

(self)

: self.arr =[0

]*128 self.queue =

def(self)

:# write code here

while self.queue and self.arr[

ord(self.queue[0]

)]>

1: self.queue.pop(0)

return self.queue[0]

if self.queue else

'#'def

insert

(self, char)

:# write code here

self.arr[

ord(char)]+=

1if self.arr[

ord(char)

]<

2:

字元流中第乙個不重複的字元

請實現乙個函式用來找出字元流中第乙個只出現一次的字元。例如,當從字元流中只讀出前兩個字元 go 時,第乙個只出現一次的字元是 g 當從該字元流中讀出前六個字元 google 時,第乙個只出現一次的字元是 l include include using namespace std 找出輸入流中的第乙個...

字元流中第乙個不重複的字元

題目 請實現乙個函式用來找出字元流中第乙個只出現一次的字元。例如,當從字元流中只讀出前兩個字元 go 時,第乙個只出現一次的字元是 g 當從該字元流中讀出前六個字元 google 時,第乙個只出現一次的字元是 l 輸出描述 如果當前字元流沒有存在出現一次的字元,返回 字元。思路 用雜湊表來儲存字元在...

字元流中第乙個不重複的字元

請實現乙個函式用來找出字元流中第乙個只出現一次的字元。例如,當從字元流中只讀出前兩個字元 go 時,第乙個只出現一次的字元是 g 當從該字元流中讀出前六個字元 google 時,第乙個只出現一次的字元是 l 如果當前字元流沒有存在出現一次的字元,返回 字元。思路 用乙個容器map計數 class s...