HJ145 小红背单词

  • 题目
  • 题解(24)
  • 讨论(19)
  • 排行

简单 通过率:41.36% 时间限制:1秒 空间限制:256M

知识点小红书哈希模拟

校招时部分企业笔试将禁止编程题跳出页面,为提前适应,练习时请使用在线自测,而非本地IDE。

描述

小红每天都要背单词,然后她会把每天记住了多少单词记录下来,并在小红书上打卡。

当小红背单词时,如果她已经记住了ii个单词,且背了一个没有记住的新单词i+1i+1次,则她就会记住这个新的单词。

例如,当她按顺序背["you","thank","thank"]时,她第一次背单词"you"时她就能记住"you"。而由于她已经记住了一个单词,所以需要背两次"thank"才能记住"thank"。

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

输入描述:

第一行一个整数n(1≤n≤10000)n(1≤n≤10000)。

接下来nn行,每行一个字符串,保证每个字符串长度不超过 10。

输出描述:

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

示例1

输入:

复制代码
5
you
thank
queue
queue
thank

复制输出:

复制代码
2

复制说明:

复制代码

小红先记住了单词"you",又因为背了两次"queue",于是记住了单词"queue"。由于已经记住了两个单词,所以背两次"thank"还不能让小红记住。

cpp 复制代码
#include <iostream>
#include<map>
using namespace std;

int main() {
    int n;cin>>n;
    int max=0;
    map<string,int>mp;
    map<string,int>remeber;
    for(int i=0;i<n;++i){
        string s;cin>>s;
        ++mp[s];
        if(remeber[s]==1){
            continue;
        }
        if(mp[s]>max){
            max=mp[s];
            remeber[s]=1;
        }
    }
    cout<<max;
}
// 64 位输出请用 printf("%lld")
相关推荐
七夜zippoe6 小时前
OpenClaw 飞书深度集成:多维表格
数据库·算法·飞书·集成·openclaw
共享家95276 小时前
C++ 日志类设计
linux·c++·后端
小辉同志6 小时前
208. 实现 Trie (前缀树)
开发语言·c++·leetcode·图论
YaraMemo6 小时前
移动通信中的线性预编码(发射端)和线性合并(接收端)算法
算法·5g·信息与通信·信号处理·预编码算法
py有趣6 小时前
力扣热门100题之括号生成
算法·leetcode
hanbr6 小时前
每日一题day2(Leetcode 704二分查找)
数据结构·算法·leetcode
John.Lewis6 小时前
C++加餐课-stack_queue:反向迭代器
数据结构·c++
云栖梦泽6 小时前
Linux内核与驱动:12.设备树实例分析
linux·c++·单片机
裕工实验室6 小时前
AMB陶瓷基板设计指南(工程师版)
算法·硬件工程·pcb工艺·材料工程
澈2076 小时前
深度优先遍历DFS:从入门到精通
算法·深度优先