首页 > 试题广场 >

小红背单词

[编程题]小红背单词
  • 热度指数:2790 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
小红每天都要背单词,然后她会把每天记住了多少单词记录下来,并在小红书上打卡。

当小红背单词时,如果她已经记住了i个单词,且背了一个没有记住的新单词i+1次,则她就会记住这个新的单词。
例如,当她按顺序背["you","thank","thank"]时,她第一次背单词"you"时她就能记住"you"。而由于她已经记住了一个单词,所以需要背两次"thank"才能记住"thank"。

现在你知道了小红背单词的顺序,请你求出小红今天记住了多少个单词。

输入描述:
第一行一个整数n(1 \leq n \leq 10000)
接下来n行,每行一个字符串,保证每个字符串长度不超过 10。


输出描述:
输出一个整数,表示她记住了多少个单词。

示例1

输入

5
you
thank
queue
queue
thank

输出

2

说明

小红先记住了单词"you",又因为背了两次"queue",于是记住了单词"queue"。由于已经记住了两个单词,所以背两次"thank"还不能让小红记住。
n = int(input())
count = 0
yuzhi = 0
dic = {}
lis = []
for i in range(n):
    tmp = input()
    if tmp not in dic.keys():
        dic[tmp] = 1
    else:
        dic[tmp] += 1
    if dic[tmp]>yuzhi and (tmp not in lis):
        count += 1
        yuzhi = dic[tmp]
        lis.append(tmp)

print(count)
发表于 2025-08-26 12:29:37 回复(0)
n = int(input()) 
word_count = {} 
remembered_count = 0 
for _ in range(n): 
    word = input() 
    if word not in word_count: 
        word_count[word] = 1 
    elif word_count[word] != -1: 
        word_count[word] += 1 
    else:
        continue
    if word_count[word] == remembered_count + 1: 
        remembered_count += 1 
        word_count[word] = -1
print(remembered_count)

发表于 2025-08-15 12:16:28 回复(0)