您的位置:首页 > 其它

leetcode 644: 子数组的最大平均值

2017-07-18 21:59 281 查看
长度为n的数组,找出所有长度至少为k的子数组中,平均值最大的,输出这个最大的平均值。

解法:用二分法查找平均值x,对于每个x去检查是否有子数组的平均值大于x。对于一个给定的x,首先将数组的所有元素减去x,然后看是否有子数组的和大于0即可。用数组S记录a[0]...a[i]的累加和,生成S的时候顺便记录前面的最小的S[j],看看S[i]-S[j]是否大于0即可。代码见官方示例。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐