我需要遍历数组,并从中间列索引添加到数组的东部,以获取值的总和。
然后从中间列索引到数组西边遍历数组,并获取值的总和。
然后将两者相加即可找到总和。对n行重复此操作,找到最佳路径。
我真的迷失了如何从中点开始计算。
答案 0 :(得分:0)
int mid = (firstIndex + lastIndex)/2
应该给您中间的长度数组,而int mid = ((firstIndex + lastIndex)/2) - 1
应该是偶数数组– array[mid]
。
从这里开始,您可以简单地使用循环从各边求和,并在循环条件下使用mid
变量得到边。
int leftSum = 0;
int rightSum = 0;
for(int i = 0; i <= mid; i++) { //from first index to middle of array
leftSum += array[i];
}
for(int i = mid; i <= array.length - 1; i++) { //from middle to end of array
rightSum += array[i];
}
int totalSum = leftSum + rightSum;
这将是一维数组。听起来您正在谈论使用二维数组。在这种情况下,您将使用嵌套循环从行到列-其中,外部for循环是行,内部是确定列。