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

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

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]
    }
    
}
全部评论

相关推荐

牛客773130651号:巨佬,简历模板换成上下的,左右的很烦,hr看着不爽。。。科大随便乱杀,建议能保研就保研,不行也得考一下 ,985硕去干算法,比开发强多了。开发许多双非都能搞,学历优势用不上,算法有门槛
点赞 评论 收藏
分享
AAA专业长城贴瓷砖刘大爷:这样的简历我会直接丢进垃圾桶,花里胡哨的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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