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

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

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

相关推荐

Vincent777...:实习经历可以考虑放上去,对于软件使用方面可以细化一些,比如调整为:熟悉基于LSDYNA的瞬态动力学仿真分析,熟悉基于WORKBENCH的结构拓扑优化
我的简历长这样
点赞 评论 收藏
分享
05-22 09:23
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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