用python写一个程序,给你一个字符串数组message和一个字符串数组bannedWords。如果数组至少存在两个单词与bannedWords中的任意单词完全相同,则该数组被视为垃圾信息。如果数组message是垃圾信息 则返回true,否则返回false
时间: 2024-09-23 10:17:02 浏览: 31
python求解数组中两个字符串的最小距离
你可以使用Python编写一个函数来检查这个条件。首先,你需要创建一个集合`banned_set`来存储禁止的单词,然后遍历`message`数组,对于每个单词,检查它是否在`banned_set`中。如果找到了两个相同的单词,就返回True表示它是垃圾信息;如果没有找到或者只有一个相同的单词,继续检查下一个。如果整个数组都检查完了都没有满足条件,那么返回False。
下面是一个简单的示例:
```python
def is_spam(message, bannedWords):
banned_set = set(bannedWords)
spam_count = 0
for word in message:
if word in banned_set:
spam_count += 1
if spam_count >= 2:
return True
# 没有达到至少两个重复的条件,所以不是垃圾信息
return False
# 示例
message = ["hello", "world", "spam", "spam"]
bannedWords = ["spam", "goodbye"]
print(is_spam(message, bannedWords)) # 输出:True
message = ["hello", "world", "hello"]
bannedWords = ["spam", "goodbye"]
print(is_spam(message, bannedWords)) # 输出:False
```
阅读全文