博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode 387. First Unique Character in a String
阅读量:6216 次
发布时间:2019-06-21

本文共 1117 字,大约阅读时间需要 3 分钟。

Given a string, find the first non-repeating character in it and return it's index. If it doesn't exist, return -1.

Examples:

s = "leetcode"return 0.s = "loveleetcode",return 2.

Note: You may assume the string contain only lowercase letters.


 

class Solution(object):    def firstUniqChar(self, s):        """        :type s: str        :rtype: int        """        cnt = collections.Counter(s)        for i,c in enumerate(s):            if cnt[c] == 1:                return i        return -1

java 里还可以,直接一次扫描s搞定:

class Solution {    public int firstUniqChar(String s) {        Map
map = new LinkedHashMap<>(); Set
set = new HashSet<>(); for (int i = 0; i < s.length(); i++) { if (set.contains(s.charAt(i))) { if (map.get(s.charAt(i)) != null) { map.remove(s.charAt(i)); } } else { map.put(s.charAt(i), i); set.add(s.charAt(i)); } } return map.size() == 0 ? -1 : map.entrySet().iterator().next().getValue(); }}

因为map里entryset保存了add顺序???

转载地址:http://gosja.baihongyu.com/

你可能感兴趣的文章
微软最有价值专家大中华峰会花絮视频
查看>>
iOS - AppRealTest App 真机测试
查看>>
如何把后台返回数据的根据某个选项去重新排序?
查看>>
Unity3D之Mecanim动画系统学习笔记(一):认识Mecanim动画系统
查看>>
Android4.42-Settings源代码分析之蓝牙模块Bluetooth总体实现(总)
查看>>
百度地图经纬度批量查找功能XGeocoding使用手册
查看>>
脚本中出现“+ $'\r' : command not found
查看>>
【Asp.net Core】在 Linux 子系统中安装 nginx 并配置反向代理
查看>>
怎么检测自己fastq的Phred类型 | phred33 phred64
查看>>
<5>Lua多返回值和require模块
查看>>
吐槽net下没有靠谱的FastDFS的sdk之使用thrift实现JAVA和C#互通
查看>>
viewpager+fragment滑动切换卡顿问题
查看>>
2018第52周日&技术人员如何面对裁员?
查看>>
InstallShield 2012 Spring新功能试用(3): 对微软最新技术的支持
查看>>
MySQL测试环境遇到 mmap(xxx bytes) failed; errno 12解决方法
查看>>
找出最慢的查询语句Find your slowest queries
查看>>
sql server 2000 按日期查找
查看>>
120行的俄罗斯方块(Javascript)
查看>>
iPhone开发之UITextView控件使用详解
查看>>
三种方法求组合偶数字
查看>>