小数据上两种做法差多少
只有 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 编译。)