zoukankan      html  css  js  c++  java
  • 牛客-Python-字符流中第一个不重复的字符

    题目描述

    请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。

    输出描述:

    如果当前字符流没有存在出现一次的字符,返回#字符。




    代码:看到题目和给出的代码形式没搞懂题目的意思
    # -*- coding:utf-8 -*-
    class Solution:
        # 返回对应char
        def FirstAppearingOnce(self):
            # write code here
        def Insert(self, char):
            # write code here
    

      看到别人的解法才明白

    问题:1、怎么标记出现一次(自己考虑到了使用字典)

         2、怎么找到第一个出现一次(走了弯路,只考虑了字典,可以对原字符串进行遍历)



    # -*- coding:utf-8 -*-
    class Solution:
        # 返回对应char
        def __init__(self):
            self.s = ''
            self.sdict = {}
        def FirstAppearingOnce(self):
            # write code here
            result = '#'
            for k in self.s:
                if self.sdict[k]==1:
                    return k
            return result
        def Insert(self, char):
            # write code here
            self.s += char
            if char not in self.sdict:
                self.sdict[char]=1
            else:
                self.sdict[char]+=1
  • 相关阅读:
    Spring配置文件的命名空间URI
    Hibernate @Embeddable注释
    HIbernate实体类注解配置
    Hibernate关系映射之many-to-many
    Hibernate中cascade属性的区别
    Hibernate注解配置与XML配置区别
    JPA关系映射之one-to-one
    Mysql修改id自增值
    JPA关系映射之one-to-many和many-to-one
    swift
  • 原文地址:https://www.cnblogs.com/ditingz/p/12257738.html
Copyright © 2011-2022 走看看