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

    题目描述

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

    输出描述:

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


    //可以申请一个256大小的数组来实现一个简易的哈希表。时间复杂度为O(n),空间复杂度O(n).
    
    public class Solution {
        private int[] hash = new int[256];
        StringBuffer s = new StringBuffer();
        //Insert one char from stringstream
        public void Insert(char ch)
        {
            s.append(ch);
            hash[ch] += 1;
        }
      //return the first appearence once char in current stringstream
        public char FirstAppearingOnce()
        {
            for(int i = 0; i<s.length(); i++) {
                if(hash[s.charAt(i)] == 1) return s.charAt(i);
            }
            return '#';
        }
    }
  • 相关阅读:
    routing路由模式
    MQ的订阅模式
    RabbitMq中的消息应答与持久化
    work工作消息队列Round-robin与Fair dispatch
    040 关于hive元数据的解析
    simple简单消息队列
    用户设置与virtual host配置
    Mq的介绍
    字典
    元组Tuple
  • 原文地址:https://www.cnblogs.com/yihangZhou/p/10508020.html
Copyright © 2011-2022 走看看