【模板复习】
SOL
首先思路很简单,双指针+贪心即可,每次遇到一个重复出现的数,移动左指针至上一次出现的位置的下一位
判断是否重复出现,一般的标记无法承受空间上的压力,所以要使用Hash哈希表(或者map,set之类的容器)
一本通上面讲的链表实现正确性达到最高,但是时间上效率明显太低,考虑暴力实现一个哈希表,直接用一个静态数组存储所有元素,模数一般开成数据范围的2倍,正确性就已经很高了,当然大佬们也可以直接使用tr1::unordered_map,只是会有毒瘤出题人卡这个
代码:
#include<bits/stdc++.h>
using namespace std;
#define re register
template<typename T>inline T Max(T a,T b){
return a>b?a:b;}
inline char nc(){
static char buf[10000],*p1=buf,*p2=buf;
return p1==p2&&(p2=(p1=buf)+fread(buf,1