【发布时间】:2020-12-11 17:25:04
【问题描述】:
我一直在研究python算法,想解决一个问题是:
- 给出一个正整数数组A和一个整数K。
- 找出数组 A 与 K 个元素的最大偶数和。
- 如果不可能,返回 -1。
例如,如果有一个数组 A= [1,2,3,4,4,5] 并且 K= 3, 答案是 12 (5+4+3), 这是具有 K (3) 个元素的最大偶数和。 但是,如果 A= [3, 3, 3] 且 K= 1, 答案是 -1,因为它不能用一个元素求和。
我试图从数组中排除每个最小奇数,但在 while 循环中 K=n 时它失败了。 有什么简单的方法可以解决这个问题吗?如果您能给我一些建议,我将不胜感激。
【问题讨论】:
-
重新检查new_A = [2, 3, 4, 4, 5]会发现陷入死循环,如果使用递归,需要保证下一步已经减少问题,所以这不会发生。