Leetcode学习(38)—— First Unique Character in a String
2017-05-09 18:07
183 查看
Given a string, find the first non-repeating character in it and return it’s index. If it doesn’t exist, return -1.
Note: You may assume the string contain only lowercase letters.
策略:遍历 26 个小写字母(降低算法的时间复杂度),当在 s 中 c 的是数量为 1 的时候,在 s 中找到 c 的位置。
当 s 中不存在 数量为1 的字母时,第一个 list 为 空
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): dic = {} index_list = [] for i in s: if i not in dic.keys(): dic[i] = 1 else: dic[i] += 1 if 1 not in dic.values(): return -1 for key, value in dic.items(): if value == 1: index_list.append(list(s).index(key)) return min(index_list)
import string class Solution(object): def firstUniqChar(self, s): return min([s.find(c) for c in string.ascii_lowercase if s.count(c) == 1] or [-1])
策略:遍历 26 个小写字母(降低算法的时间复杂度),当在 s 中 c 的是数量为 1 的时候,在 s 中找到 c 的位置。
当 s 中不存在 数量为1 的字母时,第一个 list 为 空
In [31]: min([] or [-1]) Out[31]: -1
相关文章推荐
- Leetcode算法比赛----First Unique Character in a String
- LeetCode: First Unique Character in a String
- leetcode:First Unique Character in a String
- LeetCode No.387 First Unique Character in a String
- LeetCode 387:First Unique Character in a String
- [Leetcode]First Unique Character in a String
- Leetcode 387 First Unique Character in a String
- Leetcode: First Unique Character in a String
- leetcode---First Unique Character in a String
- Leetcode-387 First Unique Character in a String
- [Leetcode] First Unique Character in a String
- [LeetCode] First Unique Character in a String(Java)
- [LeetCode] First Unique Character in a String 字符串第一个不同字符
- LeetCode-First Unique Character in a String
- 【LeetCode】387 First Unique Character in a String(java实现)
- LeetCode(387)First Unique Character in a String
- 384.[LeetCode]First Unique Character in a String
- leetcode 387 First Unique Character in a String C++
- leetcode_387 First Unique Character in a String
- leetcode387:First Unique Character in a String