美文网首页
2019-08-16 剑指 字符流中第一个不重复的字符

2019-08-16 剑指 字符流中第一个不重复的字符

作者: mztkenan | 来源:发表于2019-08-17 15:11 被阅读0次
class Solution:
    # 返回对应char
    # restore=[-1 for i in range(257)] # 类变量导致会保存上一次实例化的内容,这里导致莫名的错误
    # index=0

    def __init__(self):
        self.restore=[-1 for i in range(257)]
        self.index=0

    def FirstAppearingOnce(self):
        min_v,min_i=1000000000000,258
        for i in range(257):
            if self.restore[i]>=0 and self.restore[i]<min_v :
                min_v=self.restore[i]
                min_i=i
        if min_i==258:return '#' #记得这里特殊情况返回'#'
        return chr(min_i)


    def Insert(self, char):
        if self.restore[ord(char)]==-1:
            self.restore[ord(char)]=self.index
        elif self.restore[ord(char)]>=0:self.restore[ord(char)]=-2 # 妈的,这里少了一个=,耽误五分钟
        self.index += 1

相关文章

网友评论

      本文标题:2019-08-16 剑指 字符流中第一个不重复的字符

      本文链接:https://www.haomeiwen.com/subject/aadqsctx.html