字符串中第一个只出现一次的字符

3.【刷爆LeetCode】找出字符串中第一个只出现一次的字符(多方法、多思路) 【刷爆LeetCode】找出字符串中第一个只出现一次的字符(多方法、多思路),与博主一起爆刷LeetCode吧! 阅读详情
#include <iostream>   
#include <assert.h>
using namespace std;  

int findFisrtUniqueChar(const char *str, char &ch)
{
	assert(str != NULL);
	unsigned int m=strlen(str);
	unsigned int i;
	unsigned int anCount[256];
	memset(anCount, 0, sizeof(unsigned int) *256 );
	for (i=0; i<m; i++)
	{
		anCount[(unsigned char)str[i]]++;
	}

	for (i=0; i<m; i++)
	{
		if (anCount[(unsigned char)str[i]] == 1)
		{
			ch= str[i];
			return 0;
		}
	}

	ch='\0';
	return -1;
}

int main()  
{  
	char *str1 = "afaccde";  
	char *str2="abaccdeff";
	char *str3="abcdefggfedcba";
	char ch;
	if (findFisrtUniqueChar(str1,ch) == 0)
	{
		cout<<"The first Unique char in "<<str1<<" is:  "<<ch<<endl;
	}
	else
	{
		cout<<str1<<"  contains  no unique char"<<endl;
	}

	cout<<endl;
	if (findFisrtUniqueChar(str2,ch) == 0)
	{
		cout<<"The first Unique char in "<<str2<<" is:  "<<ch<<endl;
	}
	else
	{
		cout<<str2<<"  contains  no unique char"<<endl;
	}

	cout<<endl;
	if (findFisrtUniqueChar(str3,ch) == 0)
	{
		cout<<"The first Unique char in "<<str3<<" is:  "<<ch<<endl;
	}
	else
	{
		cout<<str3<<"  contains  no unique char"<<endl;
	}
	
	return 0;  
} 


 

【面试题】第一个只出现一次的字符(三种解法) 题目描述 解法一:哈希表计数法 需要从头开始扫描字符串两次。 第⼀次扫描字符串时, 每扫描到⼀个字符就在哈希表的对应项中把次数加1。 接下来第⼆次扫描时, 每扫描到⼀个字符就能从哈希表中得到该字符出现的次数。 当遇到第⼀个只出现⼀次的字符就是符合要求的结果。 java class Solution { public char firstUniqChar(String s) { HashMap<Character, Integer> map = new HashMap&l 阅读详情

相关推荐

找字符串中第一个只出现一次的字符。

方法一(不要求时间复杂度,只要求做出来) 两次循环嵌套,遍历字符串。 int find_one(char str[], int len) { int i = 0; int j = 0; int count = 0; for (i = 0; i < len; i++) { for (j = 0; j < len; j++) { if (str[i] == str[...

qq_44978057的博客 465

字符串中第一个只出现一次的字符。在字符串中找出第一个只出现一次的字符。

面试题35:第一个只出现一次的字符 1.题目描述 题目:字符串中第一个只出现一次的字符。在字符串中找出第一个只出现一次的字符。 例如,如输入"abaccdeff",则输出b。 2.题目分析 由于题目与字符出现的次数相关,那么我们是不是可以统计每个字符在该字符串中出现的次数?要达到这个目的,我们需要一个数据容器来存放每个字符的出现次数。在这个数据容器中,可以根据字符来查找它出现的次数,也就是说这个容器的作用是把一个字符映射成一个数字。在常用的数据容器中,哈希表正是这个用途。 为了解决这个问题,我

ThinPikachu的博客 642

在一个字符串中找到第一个只出现一次的字符

在一个字符串中找到第一个只出现一次的字符

程序员面试题精选(13):第一个只出现一次的字符

题目:在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。分析:这道题是2006年google的一道笔试题。看到这道题时,最直观的想法是从头开始扫描这个字符串中的每个字符。当访问到某字符时拿这个字符和后面的每个字符相比较,如果在后面没有发现重复的字符,则该字符就是只出现一次的字符。如果字符串有n个字符,每个字符可能与后面的O(n)个字符相比较,因此这种思路时间复杂

yysdsyl的专栏 4049

Ollama安装教程

Ollama 是一个开源的大语言模型(LLM)部署工具,专为在本地机器部署和运行大模型而设计,通过简单的命令就可以在本地快速运行大模型(如DeepSeek、Llama、Gemma、QWQ等)。非常适合开发者、研究人员以及对数据安全和隐私有较高要求的企业和用户

学习AI应用开发,分享AI干货、获取最新AI咨询 3857

Linux ELF文件解析:从file到readelf的完整工具链指南

ELF(可执行与可链接格式)是Linux系统中二进制文件的标准格式,定义了程序加载、内存布局和元数据组织方式。其核心原理在于通过程序头表描述执行视图、节区头表描述链接视图,实现代码与数据的结构化存储。这一格式的技术价值在于为程序调试、安全审计和性能优化提供了底层支持,尤其在动态链接、符号解析和内存保护机制中发挥关键作用。在应用场景上,系统管理员依赖ELF分析工具解决库依赖问题,安全研究员通过检查安全属性评估漏洞风险,开发者则利用反汇编进行代码调试。本文聚焦于file、readelf、objdump等工具链的

weixin_42691065的博客 635

找出字符串中第一个只出现一次的字符

找出字符串中第一个只出现一次的字符 题目描述 找出字符串中第一个只出现一次的字符,如果无此字符 请输出'.' 输入描述: 输入一串字符 输出描述: 输出一个字符 输入例子: asdfasdfo 输出例子: o Java实现: private static void fun() { Scanner sc = new...

2万+

PySide6 vs PyQt6:新手如何根据Python版本选择GUI库?附版本兼容性测试

本文针对Python GUI开发新手,详细对比了PySide6与PyQt6的核心差异,并提供了基于Python 3.8至3.12等不同版本的兼容性实测数据与选择建议。文章重点分析了版本选择策略,帮助开发者根据自身Python环境、项目需求(如与matplotlib集成)及许可证考量,做出最合适的决策,并附有安装验证与避坑指南。

weixin_29094539的博客 703

在字符串中查找第一个只出现一次的字符

在字符串中查找第一个只出现一次的字符。例如输入字符串"abaccdef",输出b,     分析:(1)创建一个数组,并初始化数组,                       (2)遍历字符串,把遇到的字符串的ACSII码值作为下标,后面每遇到一次,次数加一,              (3)遍历数组,如果遇到某个下标的次数为一则输出这个下标,如果只查找第一个,则输出一个就break  

xulu_258的专栏 2167

避坑指南:合宙Air780EG阿里云一型一密连接时,为什么你的HmacMD5加密总失败?

本文针对合宙Air780EG模组连接阿里云物联网平台时,HmacMD5签名失败的常见问题提供深度解决方案。详细剖析了签名拼接格式、密钥使用、随机数处理及编码大小写等关键陷阱,并结合STM32嵌入式开发环境,给出了串口调试、分步验证及AT指令链路的实用排错技巧,帮助开发者顺利完成一型一密动态注册。

kiwi8的博客 440

Docker(八):Docker Compose(容器编排) 管理多容器应用—实战案例演示

🟢 Docker(八):Docker Compose(容器编排) 管理多容器应用—实战案例演示

✨ 欢迎来到【Seal ^_^ 的优快云博客】!✨ 6万+

【面试题】找出一个字符串中第一个只出现一次的字符的位置

问题:在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写). 解答:可以用HashMap统计每个字符对应的次数,然后再遍历这个map找出第一个。代码如下: public int FirstNotRepeatingChar(String str) { if (str == null |...

u014259820的博客 7940

QT-Creator安装教程(windows)

本文介绍了Qt的下载安装步骤:1)通过镜像源下载安装包;2)运行exe文件时使用命令行参数指定镜像地址;3)在安装过程中选择路径和自定义安装组件,包含QT5和QT6版本的详细安装说明;4)安装后可继续添加扩展包或卸载组件。重点提示了QT6必须勾选的关键组件,并提供了组件管理的操作方法。

qq_53545309的博客 3108

AcWing 63. 字符串中第一个只出现一次的字符

题目描述 在字符串中找出第一个只出现一次的字符。 如输入"abaccdeff",则输出b。 如果字符串中不存在只出现一次的字符,返回#字符。 样例: 输入:"abaccdeff" 输出:'b' 问题分析 先统计字符串中各字符的出现次数,存入哈希map中。然后遍历字符串,当遇到某字符的出现次数为1时,返回该字符。如果遍历结束也没有返回,那么返回‘#’。 代码实现 class...

yj_coder的博客 283

【Qt图书管理系统】5.完整版源码及下载地址

Qt图书管理系统完整源码下载。

小鱼酱的博客 7001

【超详细】MIT 液态神经网络(LNNs)——深度学习新动向

输入可以是任何形式的时间序列数据,其中表示时间。例如传感器读数、金融市场数据、语音信号等。

allein_STR的博客 2611

java找出字符串中第一个只出现一次的字符

文章目录题目描述解题思路代码如下注意 题目描述 找出字符串中第一个只出现一次的字符 输出第一个只出现一次的字符,如果不存在输出-1 eg: 输入: asdfasdfo aabb 输出: o -1 以下是本篇文章正文内容,下面案例可供参考 解题思路 由题意知,要找出只出现一次的第一个字符,可以判断这个字符的第一位和最后一位的索引是否相等,若相等说明只出现了一次 代码如下 import java.util.*; public class Main { public static void .

橘白呀啊的博客 4604

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

32 在字符串中找出第一个只出现一次的字符。

一、题目 在字符串中找出第一个只出现一次的字符。

皮卡丘的博客 743

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

上一篇: 字符串包含问题
下一篇: 字符串直方图是否相等
纯属虚构
博客等级 码龄17年 86粉丝 194原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值