我正在优化一个算法,目前已经到了最后一步。我有一个整数数组,如下所示:
[1, 1, 2, 5, 0, 5, 3, 1, 1]
我的要求如下:
1.输入:要求对多少个整数求和
2.最大总和应由相邻的整数组成
3.如果一个整数的值为0,则该范围内的总和无效
4.返回整数的最大总和及其每个整数的索引
预期结果:
给定数组中的输入为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和其他高级数学功能,只要它是最快的方式。
[1, 1, 2, 5, 0, 5, 3, 1, 1]
我的要求如下:
1.输入:要求对多少个整数求和
2.最大总和应由相邻的整数组成
3.如果一个整数的值为0,则该范围内的总和无效
4.返回整数的最大总和及其每个整数的索引
预期结果:
给定数组中的输入为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和其他高级数学功能,只要它是最快的方式。