题解 | #字符流中第一个不重复的字符#

字符流中第一个不重复的字符

http://www.nowcoder.com/practice/00de97733b8e4f97a3fb5c680ee10720

package main
var (
    str = ""
)
func Insert(ch byte) {
    str += string(ch)
}

func FirstAppearingOnce() byte {
    bytes := []byte(str)
    m := make(map[byte][]int)
    for i, v := range bytes {
        if m[v] == nil {
            m[v] = make([]int, 2)
        }
        m[v][0]++
        m[v][1] = i
    }
    index := len(bytes)
    for _, v := range m {
        if v[0] == 1 && index > v[1] {
            index = v[1]
        }
    }
    if index == len(bytes) {
        return '#'
    } else {
        return bytes[index]
    }
    
}
全部评论

相关推荐

自由水:这HR已经很好了,多的是已读不回和不读了
点赞 评论 收藏
分享
06-07 21:26
江南大学 C++
话不多说,直接上时间线和图片1.2024年10月底发offer,并签三方2.2025年5月底公司违约
从零开始的转码生活:希望所有签了三方但直接违约的公司都倒闭!都倒闭!都倒闭!
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务