从整数数组中找到大小为 K 的连续子数组,使得从 1 到 k 的附加元素永远不会低于零

Posted

技术标签:

【中文标题】从整数数组中找到大小为 K 的连续子数组,使得从 1 到 k 的附加元素永远不会低于零【英文标题】:Find a continuous subarray of size K from an array of integers, such that additional of elements from 1 to k should never go below zero 【发布时间】:2016-08-13 15:24:13 【问题描述】:

给定一个大小为 n 的未排序整数数组。我们需要找出所有大小为 k(n>k) 的连续子数组,这样在子数组中,如果我们不断地将 1 到 k 的元素相加,总和永远不会低于零。 例如, 1,-3,4,-2,6,-5 (n=6, k=3) 这里条件由一个子数组传递。(总和无关紧要) 1,-3,4 -3,4,-2 4,-2,6 通过 -2,6,-5

【问题讨论】:

所以你告诉我们你的作业问题。问题是什么?我的意思是编写一个最多只需要 k (n - k) 步的解决方案是微不足道的。 不是我的家庭作业,我只是在 O(n) 中找不到此类问题的任何解决方案。 【参考方案1】:

看看 Kadane 的算法。我认为您可以修改以解决您的问题。

【讨论】:

以上是关于从整数数组中找到大小为 K 的连续子数组,使得从 1 到 k 的附加元素永远不会低于零的主要内容,如果未能解决你的问题,请参考以下文章

浮点数的连续子数组和整数算法

Leetcode523. 连续的子数组和

523. 连续的子数组和

java利用try...catch语句连续输入

剑指offer-010-和为k的子数组

剑指offer-010-和为k的子数组