双指针力扣入门记录
(感觉双指针很妙啊
删除重复元素 利用快慢指针删除重复元素,删除后的数组到slow指针截止
删除值为val的元素
盛最多水的容器 初始两个指针为左右端,每次移动数字较小的那个指针, 我们无法知道最大的面积取至哪两个坐标,只能在移动指针试图让面积增大的同时维护最大面积ans。
毒瘤数据结构题
2021百度之星初赛第一场
一开始以为比较难就没做,赛后发现就是思维题
发现一个双指针解法感觉很妙贴一下
ps:现在交杭电会t,不知道咋回事,估计是测评机不如比赛时的好
#include<bits/stdc++.h>
using namespace std;
const int maxn = 5e6 + 9;
inline int read()
{
char ch=getchar();int x=0,f=0;
while(ch<'0' || ch>'9') f|=ch=='-',ch=getchar();
while(ch>='0' && ch<='9') x=x*10+ch-'0',ch=getchar();
return f?-x:x;
}
int n, a[maxn], x = 1, y = 2;
int main()
{
n = read();
for(int i = 1; i <= n; ++i)
{
int op = read(), p = read();
if(op == 1)
{
a[p] = 1;
while(a[x]) x++;
while(a[y] || y == x) y++;
}
else printf("%d\n",p == x ? y : x);
}
}