用 unordered_set 去重
补全:用 unordered_set<string> 去掉重复的词,输出不重复的词有几个。 (本题用 g++ -std=c++17 -O0 编译。)
有序的好处:找第一个达标的
补全:map 里存着「分数 → 名字」。用 lower_bound 找出第一个分数不低于 80 的人,输出名字。 (本题用 g++ -std=c++17 -O0 编译。)
统计词频用什么最省事
第 1 步:三个格子:苹果、香蕉、梨 第 2 步:看到苹果:它那一格加一 第 3 步:看到香蕉:它那一格加一 第 4 步:看到苹果:它那一格加一 第 5 步:看到梨:它那一格加一 第 6 步:看到香蕉:它那一格加一 第 7 步:看到苹果:它
去重靠的是什么性质
用哈希表去重,靠的是【0】。
用数组去重为什么慢
改用 vector 去重(每次先看在不在里面)会慢,因为【0】。
出现最多的是哪个词
运行下面这段程序: #include <iostream> #include <string> #include <utility> #include <vector> using names
去掉重复之后还剩几个
运行下面这段程序: #include <iostream> #include <string> #include <utility> #include <vector> using names
数一数出现最多的词
补全 most_common:用哈希表统计次数,返回出现最多的那个词。 (本题用 g++ -std=c++17 -O0 编译。)
去重还要保住先后顺序
补全 dedup:去掉重复,但保留每个词第一次出现的先后,返回去重后的数组。补全后输出去重后的第二个词。 (本题用 g++ -std=c++17 -O0 编译。)
两批货里有几样是重复的
补全 common_count:用哈希表求出两个数组里都出现过的元素个数。 (本题用 g++ -std=c++17 -O0 编译。)