這同樣是劍指offer中的很經典的一道面試題。題目描述為:在字串中找出第乙個只出現一次的字元。如輸入「abaccdeff」,則輸出'b'. 一開始大家就會想到最簡單的方法就是每訪問到乙個字元的時候,與後面的每乙個字元去進行比較,若沒有發現相同的元素,那麼該元素就是第乙個只出現一次的字元。這樣的複雜度為o(n^2). 顯然這樣的效率不高。
// 以該字母的ascii碼值作為陣列下標,
for (int i = 0 ; i < mystring.length(); i++)
for (int i = 0; i < mystring.length(); i++)
}
演算法 第乙個只出現一次的字元
在乙個字串 0 字串長度 10000,全部由字母組成 中找到第乙個只出現一次的字元,並返回它的位置,如果沒有則返回 1 需要區分大小寫 思路一 暴力破解,直接迴圈找到只出現一次的,時間複雜度為o n 2 int flag 0 int index 1 for int i 0 i思路二 採用hashma...
第乙個只出現一次的字元
題目 在乙個字串中找到第乙個只出現一次的字元。如輸入 abaccdeff,則輸 出b。分析 這道題是 2006年google的一道筆試題。看到這道題時,最直觀的想法是從頭開始掃瞄這個字串中的每個字元。當訪問 到某字元時拿這個字元和後面的每個字元相比較,如果在後面沒有發現重複的字 符,則該字元就是只出...
第乙個只出現一次的字元
題目 在乙個字串中找到第乙個只出現一次的字元,並輸出它在字串中的位置。如輸入 abaccdeff,則輸出 b 1。定義乙個256長度的陣列,乙個用來記錄字元出現的次數。然後在遍歷字元陣列,如果該字元出現了一次,輸出並結束,否則繼續。include using namespace std 在乙個字串中...