小数据上两种做法差多少

只有 10 条数据时,两种判重的比较次数。运行下面这段程序: #include <algorithm> #include <iostream> #include <map> #include <st

开始练习 →

数据量上来之后呢

换成 200 条。运行下面这段程序: #include <algorithm> #include <iostream> #include <map> #include <string> #in

开始练习 →

空输入不能崩

补全 distinct:返回不重复元素的个数。这次喂给它一个空的 vector,不能出错。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

全都一样的输入

同一个 distinct,这次喂五个一模一样的词。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

一万条也不能退化

同一个 distinct,这次喂 10000 条(其中只有 1000 个不同的值)。⚠️ 用集合写的话瞬间就出来;写成在 vector 里 find 的话,数据再大就会跑很久。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

三条边界一起验

补全 distinct,然后把三条边界一次验完:空输入得 0、五个相同的得 1、一万条(1000 个不同值)得 1000。三条全过输出 边界通过,否则输出 有失败。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

一份完整的方案要包含什么

第 1 步:一份方案要走五步 第 2 步:需求:哪种操作最多 第 3 步:选型:写下理由 第 4 步:实现:边写边验 第 5 步:测量:拿出对比数据 第 6 步:优化:结果不能变 需 选 写 测 优 交付一份数据结构方案,至少要包含【0】。

开始练习 →

交付时最该写清楚的事

把方案交给别人时,最该写清楚的是【0】。

开始练习 →

这批词去重之后剩几个

运行下面这段程序: #include <algorithm> #include <iostream> #include <map> #include <string> #include <

开始练习 →

第一步:写下选型

最终作品第一步:补全 choose,按需求给出该用哪种做法(表外的返回「还得再想想」)。需求是「判重还要保序」。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →