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;
}
相关推荐
碧海银沙音频科技研究院几秒前
BES2800BP_nuttx编译环境搭建方法
人工智能·深度学习·算法
Felven10 分钟前
B. Make Almost Equal With Mod
数据结构·算法
脆皮炸鸡75511 分钟前
Linux~~基础IO
linux·运维·服务器·经验分享·算法·学习方法
踩坑记录15 分钟前
leetcode hot100 416. 分割等和子集 medium 动态规划 01背包 DFS深度优先搜索
leetcode·深度优先·动态规划
colofullove17 分钟前
文本分块策略与预处理
算法
三毛的二哥18 分钟前
BEV:感知抖动问题及解决办法
人工智能·算法·计算机视觉
AI科技星18 分钟前
宇宙终极几何:莫比乌斯光速螺旋统一理论-精细结构常数α本源结构
算法·机器学习·数学建模·数据挖掘·量子计算
Via_Neo32 分钟前
区间dp算法
开发语言·javascript·算法
amcomputer33 分钟前
简单总结拉格朗日乘数法
算法
hi_ro_a34 分钟前
C++ 手撕 STL 底层:红黑树封装 mymap/myset
数据结构·c++·算法