Python字符串中的第一个唯一字符

假设我们有一个字符串,我们必须在字符串中找到第一个唯一字符。因此,如果字符串像“ people”,则出现的第一个字母是“ o”。因此索引将被返回,这里是2。如果没有这样的字符,则返回-1。

为了解决这个问题,我们将遵循以下步骤-

  • 创建一个频率图

  • 对于字符串中的每个字符c

    • 如果c不在频率上,则将其插入频率,并输入值1

    • 否则,增加频率计数

  • 扫描频率图,如果特定键的值为1,则返回该键,否则返回-1

示例

让我们看下面的实现以更好地理解-

class Solution(object):

   def firstUniqChar(self, s):

      """

      :type s: str

      :rtype: int

      """

      frequency = {}

      for i in s:

         if i not in frequency:

            frequency[i] = 1

         else:

            frequency[i] +=1

      for i in range(len(s)):

         if frequency[s[i]] == 1:

            return i

      return -1

ob1 = Solution()print(ob1.firstUniqChar("people"))

print(ob1.firstUniqChar("abaabba"))

输入值

"people"

"abaabba"

输出结果

2

-1

以上是 Python字符串中的第一个唯一字符 的全部内容, 来源链接: utcz.com/z/326677.html

回到顶部