给个简介的公式,用前缀和prefix数组。对于子数组[i, j],如果满足均值条件,则有(prefix[j] - prefix[i - 1]) = u / v * (j - i + 1)。这个公式化简以下就有prefix[j] * v - u * j = prefix[i - 1] * v - u * (i - 1)。可以看到左右两边形式都是一样的,只和j和(i- 1)有关,所以可以线性解法,遍历每个位置用哈希表记录prefix[x] * v - u * x,然后对比前面记录的相同的个数。除此之外,还有个边界条件,是i=0的情况,只要判断prefix[j] * v - u * j是否等于0,是则result+1

相关推荐

不愿透露姓名的神秘牛友
07-10 11:55
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-11 15:08
点赞 评论 收藏
分享
仁者伍敌:难怪小公司那么挑剔,让你们这些大佬把位置拿了
点赞 评论 收藏
分享
下个早班:秒挂就是不缺人
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务