字符流中第一个不重复的字符

Astah 9.0升级步骤(Widnows/Mac OS) Astah Professional是一款全新的轻量级UML建模工具。软件集思维导图和UML建模于一体,采用100%纯JAVA构建, 兼容性强,不仅能够实现分布式建模、项目合并,还能够实现和其它建模工具的交互。 阅读详情
题目:
请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。

输出描述:

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

分析:
使用哈希表

class Solution
{
public:
    Solution() : index( 0 )
    {
        for ( int i = 0; i < 256; ++i )
            occurrence[i] = -1;
    }

    void Insert( char ch )
    {
        if ( occurrence[ch] == -1 )
            occurrence[ch] = index;
        else if ( occurrence[ch] >= 0 )
            occurrence[ch] = -1;
        index++;
    }

    char FirstAppearingOnce()
    {
        char ch = '#';
        int minIndex = numeric_limits<int>::max();
        for ( int i = 0; i < 256; i++ )
        {
            if ( occurrence[i] >= 0 && occurrence[i] < minIndex )
            {
                ch = (char)i;
                minIndex = occurrence[i];
            }
        }
        return ch;
    }
private:
    // occurrence[i] : A character with ASCII value i;
    // occurrence[i] = -1 : The character has not found;
    // occurrence[i] = -2 : The character has been found for mutlple times;
    // occurrence[i] >= 0 : The character has been found only once

    int occurrence[256];
    int index;
};
C# 工业视觉性能极致优化:多线程推理池 + 对象复用 + 批量检测,速度提升 10 倍实战 set;} // 输入图像set;} // 异步返回结果set;} // 用于监控延迟性能优化不是魔法,而是对资源生命周期的精细管理和对硬件特性的充分利用。多线程池解决了 CPU/GPU 闲置问题。对象池解决了 GC 停顿问题。零拷贝解决了总线带宽瓶颈。严格的 Dispose解决了内存泄漏问题。这套架构已在多个高速锂电、3C 电子检测产线落地,轻松应对 200ms 甚至 50ms 的严苛节拍。记住,在工业领域,稳定性与速度同等重要。 阅读详情

相关推荐

学习笔记( 11 ) - 解决:finalshell连接虚拟机(ubuntu)超时,主机ping不通虚拟机,主机没有VMnet8网卡, Connection refused: connect

解决:finalshell连接虚拟机(ubuntu)超时,主机ping不通虚拟机,主机没有VMnet8网卡, Connection refused: connect

烟溪彭于晏的博客 2万+

牛客刷题 字符流中第一个不重复的元素

题目描述 请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。 输出描述: 如果当前字符流没有存在出现一次的字符,返回#字符。 解题思路: 用两个list ,listA保存字符流中的所有元素,另一个listB保存不重复的字...

m0_37896011的博客 182

IEC61850 通信协议测试验证实战指南:从理论到实践

本文提供了一份全面的IEC61850通信协议测试验证实战指南,强调测试必须从理论走向工程实践。文章详细讲解了如何搭建测试环境,并深入剖析了MMS、GOOSE、SV三大核心协议的实战测试方法,旨在帮助工程师通过系统化的测试验证,确保电力自动化设备的互操作性与通信可靠性。

weixin_29204121的博客 171

查找字符流中第一个出现的不重复字符

package com.a.b; public class CharStatistics { public static void main(String[] args) { String string = "google"; char ch = getAppearOnce(string); System.out.println(ch); } private static

hey Man 1229

NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver. 最全解决方案!详细!

真的折磨了我整整一天,从网上的资料到GPT都翻遍了,终于是解决了!以下方案希望能帮助到你们。

weixin_44124632的博客 1万+

Visio 2013 Professional密钥安装激活全攻略:版本匹配与故障排查

产品密钥是软件授权体系中的核心凭证,用于验证用户对软件的使用权限。在微软Office产品线中,Visio 2013 Professional采用25位字符的密钥机制,通过联网或电话方式完成激活。正确使用密钥不仅能确保软件功能完整,还能避免因授权问题导致的工作中断。对于企业IT运维和个人用户而言,掌握密钥类型辨析、安装包匹配规则以及激活失败排查方法,是保障老版本软件稳定运行的关键。本文围绕Visio 2013 Professional,详细讲解密钥输入、激活流程及常见错误代码处理,帮助读者高效完成部署与维护。

weixin_28487433的博客 351

算法的学习笔记—字符流中第一个不重复的字符(牛客JZ75)

通过使用统计数组和队列的组合,我们能够高效地处理字符流并找到第一个不重复的字符。这种方法在字符流处理中表现优异,适用于需要实时处理数据流的场景。如果你在编码面试中遇到类似问题,不妨试试这个解决方案。😁热门专栏推荐想学习vue的可以看看这个java基础合集数据库合集redis合集nginx合集linux合集手写机制微服务组件spring_尘觉springMVCmybits🤔欢迎大家加入我的社区尘觉社区文章到这里就结束了,如果有什么疑问的地方请指出,诸佬们一起来评论区一起讨论😁。

业精于勤,荒于嬉 1714

Python爬取谷歌学术全攻略:基于Playwright与Asyncio的高效、抗反爬虫实践

同时,文章将详细解析爬虫过程中可能遇到的各种挑战,如IP封锁、验证码、动态内容加载等,并提供切实可行的解决方案。self.logger.info(f"第 {current_page} 页解析完成,共找到 {len(page_results)} 条结果。:谷歌学术的HTML结构并非一成不变,其CSS类名和标签结构可能会发生变化,且不同地区、不同语言的界面可能存在差异,增加了数据解析的难度。self.logger.info(f"开始搜索关键词: '{keyword}',计划爬取 {max_pages} 页")

2201_76125261的博客 1550

Python :字符流中第一个不重复的字符

牛客网上的剑指 offer的在线编程: 题目描述 请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。 输出描述: 如果当前字符流没有存在出现一次的字符,返回#字符 # -*- coding:utf-8 -*- c

Lynette_bb的博客 2720

风电功率预测 | 基于RF随机森林的风电功率预测(附matlab完整源码)

风电功率预测 | 基于RF随机森林的风电功率预测(附matlab完整源码)

天天酷科研的博客 897

基于Simulink的电机功率因数校正仿真

PF=SP​=视在功率有功功率​=cosϕ⋅Irms​I1​​(非正弦时)位移因数(cosϕ):基波电压电流相位差畸变因数(I1​/Irms​):谐波导致电流有效值增大本文带你完成了电机系统功率因数校正的Simulink仿真,实现了:✅ 理解了低功率因数的成因与危害✅ 搭建了无PFC、无源PFC、有源PFC三种对比模型✅ 掌握了Vienna整流器建模与dq解耦控制方法✅ 实现了PF与THD的自动计算与评估✅ 验证了有源PFC在PF、THD、稳定性上的全面优势。

amy_mhd的博客 154

Python 计算题-字符流中第一个不重复的字符

(4)字符流中第一个不重复的字符 请实现一个函数用来找出字符流中第一个只出现一次的字符。 例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。 当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。 # -*- coding:utf-8 -*- # (4)字符流中第一个不重复的字符 def fristStr(s): for i in range(len(s)): if i == 0: if s[i]

喵酱 554

015、PCIE带宽计算:理论vs实际——调试手记

最近在调一块图像采集卡,主控抱怨数据吞吐量上不去。规格书上写着PCIE 3.0 x4,理论带宽接近4GB/s,实际测试却卡在2.5GB/s左右。硬件同事拍胸脯说链路训练正常,软件同事咬定DMA配置没问题——这种场景是不是很熟悉?

z534437748的博客 883

Nowcoder java-字符流中第一个不重复的字符

Nowcoder java-字符流中第一个不重复的字符 (题目来自牛客网) 思路 方法一:队列 将进来的字符存入到队列中,进来一次,就对相应坐标加一,统计出出现次数 队列特点,先进先出,拿到的是第一个次数为1的ch 方法二:用HashMap 利用<key,value>,key存储长,value存储次数,最后拿到key为1 的长即可。 代码 //import java.util.LinkedList; //方法一 : 队列 //public class FirstAppearingOnce {

weixin_43675940的博客 190

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

字符流中第一个不重复的字符【牛客网】

题意理解 找字符流中第一个不重复的字符 问题分析 记录位置,用于比较出最小位置。 字典中只保存出现一次的记录,出现多次的,位置记录为无效(-2); 其他 链接 class Solution { public: //Insert one char from stringstream void Insert(char ch) { if(my_dict...

xiexie1357的专栏 197

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

【字符串】字符流中第一个不重复的字符

题目描述 请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。 返回值描述:如果当前字符流没有存在出现一次的字符,返回#字符。 哈希法 我想到的第一种方法是哈希法,用一个哈希表来存储每个字符的信息,字符作为key,value格式为min_index num,即字符最早出现的下标和它出现的次数。每次插入字符时,判断哈希表中是否包含该字符,若包含则将其

这个人很蓝 428

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

算法:字符流中第一个不重复的字符

拟人算法系列文章,以容易理解的方式描述算法

bill的博客 261

剑指offer-字符流中第一个不重复的字符

请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。 public class Solution { int count[]=new int[256]; int index=1; public void Inse...

六月二十七的博客 272

剑指offer 字符流中第一个不重复的字符(C++)

题目描述 请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。 输出描述: 如果当前字符流没有存在出现一次的字符,返回#字符。 解题思路 insert函数接收字符;FirstAppearingOnce函数找到不重复的第一个字符。可以很简单...

bwqiang的博客 288

牛客 字符流中第一个不重复的字符/ leetcode 387. 字符串中的第一个唯一字符

给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。 案例: s = "leetcode" 返回 0. s = "loveleetcode", 返回 2. 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/first-unique-character-in-a-string 著作权归领扣网络所有。商业...

keliwahada 685
上一篇: 表示数值的字符串
下一篇: 链表中环的入口点
Findway_
博客等级 码龄10年 36粉丝 117原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值