leetcode:387. 字符串中的第一个唯一字符

一、题目

函数原型

int firstUniqChar(char* s)
二、算法

设置一个大小为26的字符数组,位置0 - 25 分别对应字符 a - z 。遍历两次字符串,第一次记录下每个字符出现的次数,第二次检查哪个字符最先遍历到且出现次数为1,返回该字符即可。
三、代码

cpp 复制代码
int 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;
}
相关推荐
菜菜的顾清寒2 分钟前
HOT100力扣(40) 动态规划-爬楼梯
算法·leetcode·动态规划
m沐沐5 分钟前
【机器学习】聚类算法-K-means聚类
人工智能·python·算法·机器学习·pycharm·kmeans·聚类
z落落14 分钟前
C# Dictionary 字典集合+数组、List、Dictionary 三者终极对比
算法
醇氧14 分钟前
排队论(牛吃草问题)解题全解析
算法
蓝速科技27 分钟前
3D 数字人全息舱算力部署方案对比:本地 X86 独显架构与云端 RK 架构怎么选才好
数据结构·人工智能·算法·架构·排序算法
qingyulee42 分钟前
集成学习、聚类算法
算法·聚类·集成学习
lqqjuly44 分钟前
机器人状态估计与 SLAM—概率推理到 simultaneous Localization and Mapping
算法·机器人
清 澜1 小时前
基于 LangChain 从零搭建知识库问答系统
人工智能·职场和发展·大模型·agent·知识库
sali-tec1 小时前
C# 基于OpenCv的视觉工作流-章79-单位转换
图像处理·人工智能·opencv·算法·计算机视觉
兰令水1 小时前
leecodecode【双指针题2】【2026.5.26打卡-java版本】
java·开发语言·算法