【leetcode_C++_string】387.字符串中的第一个唯一字符

文章目录

1.题目

给定一个字符串 s ,找到它的第一个不重复的字符,并返回它的索引 。如果不存在,则返回 -1 。

示例 1:

输入: s = "leetcode"

输出: 0

示例 2:

输入: s = "loveleetcode"

输出: 2

示例 3:

输入: s = "aabb"

输出: -1

提示:

  • 1 <= s.length <= 105
  • s 只包含小写字母

2.题解

cpp 复制代码
class Solution {
public:
    int firstUniqChar(string s) {
        int size = s.size();

        //建立一个数组,用于统计每个字符出现的次数
        int count[256] = {0};//虽然只有26个字符,
        //但是这26个字符的ascall的值可不是0-26 所以需要空间256个

        //统计每个字符出现的次数
        for(int i = 0; i < size; i++)
        {
            count[s[i]] += 1;
        }

        //找第一个只出现一次的字符
        for(int i = 0; i < size; i++)
        {
            if (count[s[i]] == 1)
            return i; 
        }
        return -1;
    }
};
相关推荐
小蒋观天下4 分钟前
【安防AI工程实战二】AI摄像头帧率抖动根治:ISP曝光时序与AI推理时序冲突深度定位
人工智能·深度学习·算法·安全·机器学习·ai大模型
烟花落o10 分钟前
C++ 从 C 到进阶 ④:类和对象(下)—— 构造函数进阶、static、友元与内部类
c++·类和对象·初始化列表·匿名对象·内部类·友元函数·static成员函数
云和数据.ChenGuang16 分钟前
trace 是RAG检索链路的**全链路追踪日志对象
人工智能·深度学习·算法·排序算法
stellanke18 分钟前
工业化C++:3. 继承、虚函数与运行时多态:从水果加工到日志策略设计
开发语言·c++
Evand J18 分钟前
【PMSM例程6】永磁同步电机(PMSM)基于增广EKF的d-q轴电感分阶段辨识算法|电机参数估计与误差分析
算法·matlab·电机·ekf
垆边人似月.19 分钟前
华为题:最多可以参加的会议数目
数据结构·c++·算法
Matlab程序猿23 分钟前
【MATLAB源码-第460期】基于matlab的OTFS通信系统SLM峰均比抑制及非线性功率放大器失真与误码性能仿真
开发语言·算法·matlab·slm·otfs
xiangyun6124 分钟前
C++ list 模拟实现(一):手撕双向链表,从节点到迭代器
数据库·c++·算法·链表·stl·list
码爸9 小时前
线性回归算法
算法·机器学习·线性回归
Coder-magician10 小时前
《代码随想录》刷题打卡day51:图论-part09(dijistra堆优化,Bellman_ford算法)
算法·图论