每日一練(23) 第乙個只出現一次的字元

2022-09-22 21:57:24 字數 787 閱讀 8740

title: 每日一練(23):第乙個只出現一次的字元

categories:[劍指offer]

tags:[每日一練]

date: 2022/02/22

在字串 s 中找出第乙個只出現一次的字元。如果沒有,返回乙個單空格。 s 只包含小寫字母。

示例 1:

輸入:s = "abaccdeff"

輸出:'b'

示例 2:

輸入:s = ""

輸出:' '

限制:0 <= s 的長度 <= 50000

思路1.對字串進行兩次遍歷。

演算法1.字元統計: 遍歷字串 s 中的每個字元 c ;

2.查詢數量為 1 的字元: 遍歷字串 s 中的每個字元 c ;

3.返回 ' ' ,代表字串無數量為 1 的字元。

char firstuniqchar(string s) 

unordered_mapdic;

for (char c : s)

for (char c : s)

}return ' ';

}

思路和演算法

此方法雖然看起來**簡潔,但是時間複雜度較高!

char firstuniqchar(string s) 

int n = s.size();

for(int i = 0; i < n; i++)

}return ' ';

}

第乙個只出現一次的字元

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

第乙個只出現一次的字元

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

第乙個只出現一次的字元

1.問題描述 在字串中找出第乙個只出現一次的字元。例如輸入abaccdeff,則輸出 b。來自 劍指offer 2.分析 我們可以用乙個容器來存放 對應的字元和出現次數 雜湊表 這裡僅僅用陣列來簡單的模擬了一下 第一次掃瞄時將出現的次數存放在表中,第二次掃瞄時掃瞄到次數為1的字元並返回該字元即可。表...