たとえば、
{2,2,-1},
when k = 0, return -1.
when k = 3, return 3.
負の数と追加の変数 k があるため、これはさらに注意が必要です。k は任意の値、負の値にすることができます。仮定はしないでください。
この問題を解決するためにhttps://en.wikipedia.org/wiki/Maximum_subarray_problemとhttps://www.youtube.com/watch?v=yCQN096CwWMを参照できません。
どんな体でも私を助けることができますか?Java または JavaScript を使用することをお勧めします。
最大値 (変数 k なし) の古典的なアルゴリズム o(n) は次のとおりです。
public int maxSubArray(int[] nums) {
int max = nums[0];
int tsum = nums[0];
for(int i=1;i<nums.length;i++){
tsum = Math.max(tsum+nums[i],nums[i]);
max = Math.max(max,tsum);
}
return max;
}