给定一个整数数组,我必须找到具有最大和的子数组,使得和是奇数。
但是我怎么把它扩展到和是奇数。
编辑
数组的所有元素都是整数和正数
似乎您并不要求它是连续的(从您的示例来看)。这要简单得多,只要取所有正元素,如果和是奇数-你就完成了。如果是偶数--删除最低的正奇元素,或者添加最高的奇负元素(这样做更好,它只取决于abs(highest_negative_odd)
和lowest_positive_odd
)。
伪代码:
我试图在一个数组中找到具有最大和的邻接子数组。所以,对于数组 {5,15,-30,10,-5,40,10}
给出了一个由N个整数组成的数组。 数组的最大和是该数组的非空连续子数组的元素的最大和。 例如,数组[1,-2,3,-2,5]的最大和是6,因为子数组[3,-2,5]的和是6,并且不可能实现更大的子数组和。 现在,您只能从给定数组中删除一个以上的元素。这样做可以得到的结果数组的最大可能最大和是多少? 我正在用我自己的测试用例测试我的代码。我在Dev-C++上得到了正确的输出。但是当我在网上测试我的代
很抱歉发了这么长的帖子,但我不明白我做错了什么。感谢您事先的帮助! 这里是当前面提到的列表作为输入给出时的输出,我已经经历并查看了每一个步骤,列表中的每一个消除在我看来都是合乎逻辑的,我不知道一个人怎么会以结束和105结束。如果有人能帮我理解,我会非常感激的!
我最近遇到一个问题如下。
我需要找到总和大于或等于< code>k的最小子阵列长度。数组将只有正数。 例如 输入:< code>target = 7,< code>nums = [2,3,1,2,4,3]输出:2说明:子数组[4,3]在问题约束下长度最小。 在我的代码中,对于输入:< code>target = 7,< code>nums = [2,3,1,2,4,3]我得到的答案是< code>3,但正确答案是< cod
我有一个问题,给你两个数组,比如: 这意味着第一个数组中有5个数字,第二个数组中有3个数字。第二行是第一个数组,第三行是第二个数组。这个程序的目标是将第二个数组中的数字插入第一个数组(可以分开),从而使组合数组的所有位置都是奇数(第一、第三、第五……)数字加起来就是可能的最大数字。上述问题的输出示例: 既然阵列变成了 我试图利用第一个数组中的差异,通过 并找到差异最大的地方在第二个数组中插入数字。