zoukankan      html  css  js  c++  java
  • 剑指offer(54)字符流中第一个不重复的数字

    题目描述

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

    输出描述:

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

    题目分析

    我们之前有讲过,一般遇到次数问题,就可以想到用哈希表来统计次数。这题也是如此。

    这题算比较简单,没什么说的

    此外这题还可以借助indexOf和lastIndexOf来做,具体留给读者自己解决了。 

    代码

    let map = {};
    function Init() {
      map = {};
    }
    function Insert(ch) {
      if (map[ch]) {
        map[ch] += 1;
      } else {
        map[ch] = 1;
      }
    }
    function FirstAppearingOnce() {
      for (const i in map) {
        if (map[i] === 1) {
          return i;
        }
      }
      return '#';
    }
  • 相关阅读:
    A1015. Reversible Primes (20)
    A1024. Palindromic Number (25)
    A1023. Have Fun with Numbers (20)
    B1017. A除以B (20)
    A1059. Prime Factors (25)
    阵列命令
    工具面板
    圆角与镜像命令
    拉伸与缩放命令
    autium designer
  • 原文地址:https://www.cnblogs.com/wuguanglin/p/FirstAppearingOnce.html
Copyright © 2011-2022 走看看