第 142 课
unique
🔵 基础 约 7 分钟
一句话理解
unique 把相邻的重复元素挤到后面,返回新逻辑末尾。
为什么要学
排序去重的标准动作。
讲解
必须先 sort。n = unique(a, a+n) - a; 之后 [0,n) 是去重结果。
它不删除容量,只是移动元素。
例子
int a[5] = {1, 1, 2, 2, 3};
n = unique(a, a + 5) - a;
cout << n;
输出:
3
变成 1,2,3,… 逻辑长度 3。因为本来就相邻重复,没先 sort 也碰巧对;无序时必须先 sort。
常见错误
- 不排序就 unique,不相邻的重复去不掉。
- 忘记用返回值更新 n。
练习 做完再看下一课
unique 之前通常要?
让相同元素相邻。
在线练习 C++ 在浏览器里编译,代码不会上传 已通过
Ctrl / ⌘ + Enter 运行 · Tab 缩进
隐藏测试点只是界面不展示数据。题目 JSON 会下发到浏览器,可在开发者工具里看到,只适合自学,不是正式比赛评测。
进度保存在本机浏览器里。
左右方向键也可翻课