直接On双指针的话是没有问题的,我们记录一个l记录一个r,r=l+999 判断两数是否相等,跑一遍就行 现在我们想如何优化 如果以l为起点的这个数不符合题意那么只有r这个位置的数符合提议 那么我们可以从l到r二分找第一个等于a[r]的数,然后以这个为起点继续搜 最多会搜2*n/1000次 二分2*n/1000次 因为如果你二分到的合法位置是l+1,那么下一次二分的下标就是r-1,两次跑的位置一定是1000 所以整体复杂度n/1000
点赞 评论

相关推荐

02-06 16:33
门头沟学院 Java
Phoenix_Re...:很少最多一两个,大多数保研或者摆烂等着考研
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务