一、题目
函数原型
int firstUniqChar(char* s)
二、算法设置一个大小为26的字符数组,位置0 - 25 分别对应字符 a - z 。遍历两次字符串,第一次记录下每个字符出现的次数,第二次检查哪个字符最先遍历到且出现次数为1,返回该字符即可。
三、代码
cppint firstUniqChar(char* s) { int nums[26]={0}; memset(nums,0,sizeof(nums)); int sz=strlen(s); for(int i=0;i<sz;i++) { nums[s[i]-'a']++; } for(int i=0;i<sz;i++) { if(nums[s[i]-'a']==1) return i; } return -1; }
leetcode:387. 字符串中的第一个唯一字符
南林yan2023-11-05 8:28
相关推荐
ZhengEnCi9 小时前
GPT-6 Astra 爆改 Qwen 权重真有那么神吗:权重空间编程 0.016% 参数的真相罗西的思考9 小时前
【轻量化复刻大模型 / KIMI K3】KDA(Kimi Delta Attention):并行夜不会漫长12 小时前
C++:红黑树文丑颜不良啊12 小时前
LeetCode1661~1680题目解析AI备案指南-满满12 小时前
算法备案审核不通过,一般是什么原因?Ramble_Naylor12 小时前
Rust深度解读:Send 与 Sync 的本质与线程安全边界秋天的怀念_David12 小时前
算法一千零一夜 · 第二十三夜 电力民生写成的曲线不一样的故事12613 小时前
NB/T 47013.8-2015 附录D 吸枪技术通问AI13 小时前
用 200 行 Python 给文档库做「上下文完整度」自检:四个可复算的检查项揽星河..13 小时前
【C语言】扫雷游戏