請實現乙個函式用來找出字元流中第乙個只出現一次的字元。例如,當從字元流中只讀出前兩個字元」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...