剑指offer(54)字符流中第一个不重复的数字
2024-08-27 05:31:28
题目描述
请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"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 '#';
}
最新文章
- 【Beta】Scrum06
- 关于DMA和它的仇家
- 更新lispbox中的ccl和slime版本
- 非模态对话框的PreTranslateMessage() 没有用,无法进去
- MapReduce 重要组件——Recordreader组件
- 【MySQL】MySQL事务回滚脚本
- javascript 详解数组
- 最好的10本适用于初学者阅读的javaScript和jQuery书籍
- C++运行字符编码于MSVC和GCC之间的区别
- 服务器端调用Word组件读取Word权限、未将对象引用到对象实例终极解决方案
- Android Studio如何设置自己主动提示代码
- ionic 添加新module
- Android简易实战教程--第三十九话《Chronometer实现倒计时》
- 让 Homebrew 走代理更新 + brew 管理 node 版本
- Go语言中的Struct
- 移动端调用电话、短信、唤起QQ和使用百度地图
- Leetcode——Two Sum(easy)
- js没事干应该瞧瞧的一些博客
- Java课程作业之动手动脑(三)
- Using an LPC-Link2 as an LPC4370 evaluation board
热门文章
- 【CF434E】Furukawa Nagisa's Tree 点分治
- poj3278_kuagnbin带你飞专题一
- ubantu中怎样安装VMware Tools
- SVN操作步骤
- odoo Q-web
- jquery基础学习之AJAX篇(五)
- pycharm import pygame 出现报错:No module named 'pygame'
- Navicat 远程连接 Oracle11g 数据库报错 No listener 的问题
- java之动态代理
- (转载)intellj idea 如何设置类头注释和方法注释