第乙個只出現一次的字元(劍指offer 34)

2022-08-27 00:27:11 字數 456 閱讀 8518

在乙個字串(0<=字串長度<=10000,全部由字母組成)中找到第乙個只出現一次的字元,並返回它的位置, 如果沒有則返回 -1(需要區分大小寫).(從0開始計數)

最直觀的解法是使用 hashmap 對出現次數進行統計,但是考慮到要統計的字元範圍有限,因此可以使用整型陣列代

替 hashmap,從而將空間複雜度由 o(n) 降低為 o(1)。

public int firstnotrepeatingchar(string str) 

for (int i = 0; i < str.length(); i++)

}return -1;

}

public int firstnotrepeatingchar(string str) 

for(int i=0;ireturn -1;

}

劍指off 第乙個只出現一次的字元

題目 在字串中找到第乙個只出現一次的字元,abaccdeff 輸出b 分析 可以用雜湊表,統計技術,然後順序遍歷雜湊表,輸出第乙個值為1的字元。訪問的值是字元,一共只有256個字元,用乙個陣列來實現雜湊表 int findonce char str char p str while p 0 for ...

劍指offer 第乙個只出現一次的字元

在乙個字串 1 字串長度 10000,全部由字母組成 中找到第乙個只出現一次的字元,並返回它的位置 我們遍歷這個字串,假設每個當前字元都是只出現一次的,我們分別向前和向後考察是否存在相同字元 向前考察 儲存乙個vector裡面存放所有已知的已經重複過的字元,如果當前字元跟這個vector裡面的字元相...

劍指offer 第乙個只出現一次的字元

在乙個字串 0 字串長度 10000,全部由字母組成 中找到第乙個只出現一次的字元,並返回它的位置,如果沒有則返回 1.將字串轉化成陣列,兩個迴圈,外層迴圈遍歷這個陣列i,內層迴圈也是從0 開始遍歷j,判斷i對應的元素和j對應的元素是否相等,相等的話就說明不是要求的位置,直接開始判斷下乙個元素i p...