您的位置:首页 > 编程语言 > Python开发

LintCode python 小白-简单题-646 First Position Unique Character

2017-07-28 16:44 405 查看
题目:Given a string, find the first non-repeating character in it and return it’s index. If it doesn’t exist, return -1.

样例

Given s = “lintcode”, return 0.

Given s = “lovelintcode”, return 2.

思路:

建立一个字典去统计字符串中所有元素出现的频率,(元素为键,频率为值)

然后在字典中按字符串的顺序去查找到第一个频率为1的,返回的是字符串的那个下标位置。

代码:

class Solution:
# @param {string} s a string
# @return {int} it's index
def firstUniqChar(self, s):
# Write your code here
a={} #定义一个字典
for i in range(len(s)):
a[s[i]]=0   #一开始每个元素频率皆初始化为0
for i in range(len(s)):
a[s[i]]+=1
for i in range(len(s)):
if a[s[i]]==1: #满足要求的出现的第一个不重复元素
return i
return -1  #不满足的情况皆返回-1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: