草庐IT

双指针

同向双指针能够实现跳跃寻找,适用于寻找含有某一特性区间,比如最长相同区间,最长不重复区间不重复区间可以用一个数组t[N]来表示,如果其中元素大于1,说明有重复intres=0,j=0;for(inti=0;i1)t[a[j++]]--;//改变区间if(i-j+1>res)res=i-j+1;}相同区间用第二个指针移动来寻找下一个不相同的位置,可计算出区间长度intnum=0;charans;for(inti=0;inum)num=j-i,ans=s[i];i=j;}双向双指针一个从前往后走,一个从后往前走使得与暴力循环两个数组不同的是,j不会回退例子:给定两个升序排序的有序数组A和B,以及一

双指针

同向双指针能够实现跳跃寻找,适用于寻找含有某一特性区间,比如最长相同区间,最长不重复区间不重复区间可以用一个数组t[N]来表示,如果其中元素大于1,说明有重复intres=0,j=0;for(inti=0;i1)t[a[j++]]--;//改变区间if(i-j+1>res)res=i-j+1;}相同区间用第二个指针移动来寻找下一个不相同的位置,可计算出区间长度intnum=0;charans;for(inti=0;inum)num=j-i,ans=s[i];i=j;}双向双指针一个从前往后走,一个从后往前走使得与暴力循环两个数组不同的是,j不会回退例子:给定两个升序排序的有序数组A和B,以及一