📌  相关文章
📜  国际空间研究组织 | ISRO CS 2008 |问题 34(1)

📅  最后修改于: 2023-12-03 15:37:13.959000             🧑  作者: Mango

国际空间研究组织 | ISRO CS 2008 | 问题 34

本题是一个简单的字符串处理问题。要求在一个字符串中找出第一个不重复的字符,如果不存在则返回 -1。

实现思路:

  1. 遍历字符串,通过一个字典记录每个字符出现的次数。

  2. 再次遍历字符串,返回第一个出现次数为 1 的字符。

实现代码如下所示:

def find_first_non_repeating_character(string):
    char_frequency = {}
    for char in string:
        if char in char_frequency:
            char_frequency[char] += 1
        else:
            char_frequency[char] = 1
            
    for char in string:
        if char_frequency[char] == 1:
            return char
    
    return -1

该函数接受一个字符串作为输入,返回第一个不重复的字符或 -1。

例如,对于字符串 "aabbccddee",调用该函数会返回 -1,因为所有的字符都是重复的;对于字符串 "abcdabc",调用该函数会返回 'd',因为 'd' 是第一个出现次数为 1 的字符。

使用该函数的示例如下:

>>> find_first_non_repeating_character("aabbccddee")
-1
>>> find_first_non_repeating_character("abcdabc")
'd'

以上是本题的解题思路和代码实现,希望对程序员们有所帮助。