一、题目
函数原型
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
相关推荐
Sirius Wu4 分钟前
MoE与Fengyu-Dense_架构对比及训练方案却道天凉_好个秋5 分钟前
HEVC(一):环路滤波8Qi813 分钟前
LeetCode 300 & 674:最长递增子序列 vs 最长连续递增子序列sheeta199821 分钟前
LeetCode 补拙笔记 日期:2026.06.07 题目:283. 移动零黎阳之光科技管控36 分钟前
纯视觉定位赋能海关口岸 无感通关提升国门安全与效率じ☆冷颜〃1 小时前
Picard–Lindelöf定理在CS中的应用:理论框架与算法基础不知名的老吴1 小时前
机器学习评价之基础指标Felven1 小时前
D. Divisible Pairs源代码杀手1 小时前
基于ROS2+Gazebo+RIVE的40项计算机视觉前沿机器人项目(含视觉算法原理与源码获取方式)MrZhao4001 小时前
大模型量化到底在做什么:从浮点数表示到 Qwen FP8 实践