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

2021-08-21 03:29:21 字數 961 閱讀 2271

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

思路:使用雜湊表。

1.可以用雜湊表儲存每個字元出現的次數,找到第乙個次數為1的字元。如何找到第乙個?可以遍歷字串,也可以利用佇列。

2.可以用雜湊表儲存每個字元所在的位置,如果沒有出現記為-1,出現的次數大於1次記為-2,找出除了-1、-2以外位置值最小的字元。

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

class

solution:

# 返回對應char

def__init__

(self):

self.hash_map = [-1

for i in range(256)]

self.index = 0

def(self):

# write code here

min_index = 255

ch = '#'

for j in range(256):

if self.hash_map[j] >= 0

and self.hash_map[j] < min_index:

ch = chr(j)

min_index = self.hash_map[j]

return ch

definsert

(self, char):

# write code here

if self.hash_map[ord(char)] == -1:

self.hash_map[ord(char)] = self.index

else:

self.hash_map[ord(char)] = -2

self.index += 1

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

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

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

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

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

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