📜  门|门 IT 2006 |第 39 题(1)

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

门|门 IT 2006 | 第39题

本题是一道经典的编程题目,要求编写一个程序,判断一个字符串中是否包含重复的字母。以下是题目的详细描述、输入输出格式以及样例数据。

题目描述

给定一个字符串,判断其中是否包含重复的字母。

输入格式

一个字符串,长度不超过100。

输出格式

如果包含重复的字母,输出 "Yes",否则输出 "No"。

样例输入
hello
样例输出
Yes
代码实现
def has_duplicate_char(s: str) -> bool:
    """
    判断一个字符串是否包含重复字符
    """
    char_set = set()
    for char in s:
        if char in char_set:
            return True
        char_set.add(char)
    return False

    
if __name__ == "__main__":
    s = input().strip()
    if has_duplicate_char(s):
        print("Yes")
    else:
        print("No")

代码说明

首先定义一个函数 has_duplicate_char(s),接收一个字符串参数 s。在函数中,我们使用了一个 set 对象来存储已经出现过的字母。遍历给定的字符串,每次检查当前字母是否在 set 中出现过,如果是,说明该字符串包含重复字母,返回 True,否则将该字母加入 set 中。最终,如果函数结束时都没有返回 True,说明该字符串中不包含重复字母,返回 False

在主函数中,我们首先读入一个字符串 s,然后调用我们刚刚定义的函数 has_duplicate_char(s),并根据返回值输出结果。

代码使用了 Python 语言来实现,但其他语言也可以使用类似的思路来解决这个问题。