這是一個面試問題。查找給定字符串中的第一個字符,只出現一次(我認爲解決方案應該在Java中)。如何查找給定字符串中的第一個字符,該字符只出現一次
例如:
"babcbcd" -> 'a' // both 'a' and 'd' appear only once but 'a' appears before 'd'
平凡解是
- 構建地圖(例如
HashMap
):字符 - >它的字符串中的出現次數; - 掃描對地圖字符串和測試字符串中的字符,直到字符的值是1
是否有意義?什麼是最好的圖的實現?有沒有更好的,更有效的解決方案?
*「有沒有更好的,更有效的解決方案?「*你認爲什麼? – 2013-02-17 15:08:19
_是否有更好,更有效的解決方案?_我不這麼認爲。 – sigod 2013-02-17 15:10:49
你可以保持一個優先級隊列,並彈出頂部並檢查它是否爲1. – 2013-02-17 15:11:26