C#LeetCode刷题之#387-字符串中的第一个唯一字符(First Unique Character in a String)
2024-09-04 05:25:12
问题
该文章的最新版本已迁移至个人博客【比特飞】,单击链接 https://www.byteflying.com/archives/3939 访问。
给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。
s = "leetcode",返回 0.
s = "loveleetcode",返回 2.
注意事项:您可以假定该字符串只包含小写字母。
Given a string, find the first non-repeating character in it and return it's index. If it doesn't exist, return -1.
s = "leetcode",return 0.
s = "loveleetcode",return 2.
Note: You may assume the string contain only lowercase letters.
示例
该文章的最新版本已迁移至个人博客【比特飞】,单击链接 https://www.byteflying.com/archives/3939 访问。
public class Program {
public static void Main(string[] args) {
var s = "loveleetcode";
var res = FirstUniqChar(s);
Console.WriteLine(res);
Console.ReadKey();
}
private static int FirstUniqChar(string s) {
var dic = new Dictionary<int, int>();
for(var i = 0; i < s.Length; i++) {
if(dic.ContainsKey(s[i])) {
dic[s[i]]++;
} else {
dic[s[i]] = 1;
}
}
for(var i = 0; i < s.Length; i++) {
if(dic[s[i]] == 1) return i;
}
return -1;
}
}
以上给出1种算法实现,以下是这个案例的输出结果:
该文章的最新版本已迁移至个人博客【比特飞】,单击链接 https://www.byteflying.com/archives/3939 访问。
2
分析:
显而易见,以上算法的时间复杂度为: 。
最新文章
- .NET 动态脚本语言Script.NET 入门指南 Quick Start
- [OpenCV] Samples 08: edge
- 自制简单实用IoC
- UVA 11076 - Add Again(组合)
- MySQL 存储过程传参之in, out, inout 参数用法
- [Js]焦点图轮播效果
- magic_quotes_runtime 与 magic_quotes_gpc
- 无法将 grub-efl-amd64-signed 软件包安装/target/ 中
- window.top、window.parent
- Java编写ArrayBasic制作一个简单的酒店管理系统
- 怪兽z主机豪华版 答问。
- Openfire开发广播服务接口,支持离线广播消息
- python爬微信公众号前10篇历史文章(5)-JSON相关内容小结
- NSDate-日期类&;nbsp;OC——第七天(1)
- java 浅复制 代码
- worker pool Handling 1 Million Requests per Minute with Golang
- Python文档记录
- Spring Boot重要内容
- Linux下部署Samba服务环境的操作记录
- js中的jsonp