力扣-387 字符串中的第一个唯一字符
题目描述
给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。
示例
s = “leetcode”
返回 0
s = “loveleetcode”
返回 2
源代码
思路:
第一步:定义一个存放字母的数组,代表里面字符串s中所有字母及其出现的个数。
第二步:遍历这个数组,找出所有仅出现过一次的字母,将这个字母放进原字符串中进行匹配,得到他的索引值。
第三步:返回最小的索引值。
class Solution {public:int firstUniqChar(string s) {if(s.empty()) return -1;int n=s.length();int arr[26]={0};int i;int temp=INT_MAX;for(i=0;i<n;i++){arr[s[i]-'a']++;}for(i=0;i<26;i++){if(arr[i]==1){for(int j=0;j<n;j++){if('a'+i==s[j]) temp=min(temp,j);}}}if(temp!=INT_MAX) return temp;else return -1;}
};
复杂度分析:
- 时间复杂度:O(n),遍历了两遍字符串,
- 空间复杂度:O(1),没有建立太大的数组,用一些常数变量来存储数据。
(最后吐槽一下笨笨的我,这题花费了我将近50min!)
力扣-387 字符串中的第一个唯一字符相关推荐
- 力扣 387. 字符串中的第一个唯一字符 C语言实现
题目描述: 给定一个字符串 s ,找到 它的第一个不重复的字符,并返回它的索引 .如果不存在,则返回 -1 . 题目链接 方法一:哈希表 创建一个哈希表,遍历字符串中的字符,并在哈希表中查找该字符,如 ...
- 387. 字符串中的第一个唯一字符(javascript)387. First Unique Character in a String
leetcode:https://leetcode-cn.com/problems/first-unique-character-in-a-string/ 387. 字符串中的第一个唯一字符 给定一个 ...
- 387. 字符串中的第一个唯一字符
387. 字符串中的第一个唯一字符--2020.12.27 题目 思路 题目 给定一个字符串,找到它的第一个不重复的字符,并返回它的索引.如果不存在,则返回 -1. 示例: s = "lee ...
- Leetcode 387. 字符串中的第一个唯一字符
387. 字符串中的第一个唯一字符 给定一个字符串 s ,找到 它的第一个不重复的字符,并返回它的索引 .如果不存在,则返回 -1 . 示例 1: 输入: s = "leetcode&quo ...
- LeetCode:387.字符串中的第一个唯一字符
字符串中的唯一字符就是字符出现次数为1的 思路:首先一次遍历,统计出每个字符的出现次数,再遍历字符,如果字符出现个数是1,则当前字符对应的小标就是要返回的值 public class Test387 ...
- Python——LeetCode刷题——【387. 字符串中的第一个唯一字符】
题目描述: 解题思路: 逐个遍历字符串中的每个字符.用字典记录在字符串中每个字符的出现次数.最后遍历字符串中每个字符,字典中该字符作为key对应的value值为1,return首个value值为1的字 ...
- leetcode 387. 字符串中的第一个唯一字符(hash)
给定一个字符串,找到它的第一个不重复的字符,并返回它的索引.如果不存在,则返回 -1. 示例: s = "leetcode" 返回 0 s = "loveleetcode ...
- leetcode 巧妙解法 387. 字符串中的第一个唯一字符
给定一个字符串,找到它的第一个不重复的字符,并返回它的索引.如果不存在,则返回 -1. 案例: s = "leetcode" 返回 0. s = "loveleetcod ...
- leetcode 387. 字符串中的第一个唯一字符(First Unique Character in a String)
目录 题目描述: 示例: 解法: 题目描述: 给定一个字符串,找到它的第一个不重复的字符,并返回它的索引.如果不存在,则返回 -1. 示例: s = "leetcode"返回 0. ...
- 【数据结构】387. 字符串中的第一个唯一字符
题目 给定一个字符串 s ,找到 它的第一个不重复的字符,并返回它的索引 .如果不存在,则返回 -1 .示例 1:输入: s = "leetcode" 输出: 0 示例 2:输入: ...
最新文章
- 生产者消费者问题——C++ windows版 多生产者多消费者的队列实现
- python3.7入门教程-python 3.7极速入门教程5循环
- editplus行转列_EditPlus常用快捷键
- P1220-关路灯【区间dp】
- 阻止事件冒泡——商品编辑
- 一个简单的VC++案例:显示年月日
- 移植制造时保持资源的「统一」。
- ReactiveCocoa 用法实例
- Pytorch和Torchvision版本对应
- 偶然获得2011高校信息化创新征文大赛鼓励奖
- 平面设计完全手册_平面设计师的三大软件:PS、AI、ID该如何选择?| 平面设计纯干货...
- 商务经济与统计中涉及到的所有公式
- dnf时装补丁教程_【时装补丁制作】消灭伸手党!最详细的图文教程~
- 计算机剪切全选快捷键,全选快捷键是什么
- 又是一个想当然的错误
- 3年经验Java程序员面阿里P6 差距在哪里
- configure: error: Package requirements (oniguruma) were not met: No package ‘oniguruma‘ found
- linux r7 4800u,r7 4800u和r7 4800h差距大吗?下面解读可以帮您
- CES 2019上芯片巨头们的争夺焦点:光线追踪、“永远”在线PC、汽车
- Android笔记:将布局转换成图片
热门文章
- luoguP3507 [POI2010]GRA 性质 + 动态规划
- Swagger生成WebAPI文档
- 求助:为什么我用360浏览器和UC浏览器打不开JAVA中的index.html文件? 一打开就显示浏览器首界页...
- JavaScript基础---语言基础(4)
- BERT4GCN:利用BERT中间层特征增强GCN进行基于方面的情感分类
- 648 页全彩 + 395张插图 的机器翻译传奇巨作 -- 送几本~
- 深度学习进阶NLP:word2vec的高速化
- [NAACL19]一个更好更快更强的序列标注成分句法分析器
- 具体数学-第9课(取整进阶与数论入门)
- 一、2.结构化解题流程细节