arrays - 如何找到[L,R]之间大小的最大和子数组
问题描述
给定一个包含正整数和负整数的数组,如何找到长度介于两者之间的最大和子数组(连续子数组L
)R
?
例如:如果数组是
-1 3 -2 5 3 -5 2 2
和L = 1
,R = 2
答案是8
。
我的方法:
我不太确定如何处理这个问题。我想也许它是滑动窗口+ Kadane 的组合。我听说前缀和+滑动窗口可能是一个可能的解决方案,但我不确定如何实现它。
解决方案
如果我正确理解您的问题,有一个 n*logn 解决方案,它确实使用前缀和和滑动窗口。这里解释一下:https ://www.geeksforgeeks.org/maximum-sum-subarray-of-size-range-lr/
推荐阅读
- java - 使用java禁用TLS握手中的特定签名方案
- python - 大熊猫中水平分组数据
- reactjs - 反应 axios 获取 url 编码解码问题
- reactjs - UseHistory 推送更改 url 但不更改站点
- git - 使用源下载管理新 nopCommerce 的存储库大小
- python - 在 python 中使用 os-preprocessor
- c# - 具有两个 ref 参数的 MethodInfo.Invoke 方法不起作用
- asp.net-core - 在我的网址中使用 www 时,在 aspnet 核心中出现 403 错误
- node.js - 以角度向用户显示假路线
- apache-kafka - kafka幂等生产者可以确保多个分区恰好一次吗