【发布时间】:2010-02-17 17:53:52
【问题描述】:
一直在优化一个算法,到了最后一部分。我有一个这样的整数数组:
[ 1, 1, 2, 5, 0, 5, 3, 1, 1 ]
我的要求如下:
- 输入:要求和的整数个数
- 最大和应由彼此相邻的整数组成
- 如果整数的值为 0,则该范围内的总和无效
- 返回整数的最大总和和每个整数的索引
预期结果:
给定输入 2(需要 2 个)和所提到的数组,因此应该返回 [ 8, [ 5, 6 ] ] 其中 8 是索引 5 和 6 处的整数之和
给定输入 3(需要 3 个)和所提到的数组,因此应该返回 [ 9, [ 5, 6, 7 ] ] 其中 9 是索引 5、6 和 7 处的整数之和(请注意,即使索引 3、4、5 处的整数具有更高的和,由于索引 4,结果是无效的为 0)
我目前正在通过大量循环来管理此问题,但想知道是否有人有更好的方法来实现这一点。我目前选择的编码语言是 C# - 因此,如果可能的回复是 C#,我将不胜感激。只要是最快的方式,任何使用 linq 和其他花哨的数学功能都可以。
【问题讨论】:
-
对不起,我发布了一个答案。至少它不在 C# 中。
-
不,这绝对不是家庭作业……我希望是
-
然后你可以删除其他人添加的那些标签,甚至不验证。