Обход массива, начиная с указанного индекса c столбца - PullRequest
0 голосов
/ 22 апреля 2020

Мне нужно пройти массив и добавить от индекса среднего столбца к востоку от массива и получить сумму значений.

Затем пройти массив от индекса среднего столбца к западу от массива и получить сумму значений.

Затем сложите оба, чтобы найти сумму вместе. Повторите это для n рядов строк и найдите оптимальный путь.

Я действительно заблудился от того, как начать вычисления со средней точки.

1 Ответ

0 голосов
/ 22 апреля 2020

int mid = (firstIndex + lastIndex)/2 должно дать вам середину, если массив нечетной длины, и int mid = ((firstIndex + lastIndex)/2) - 1 для массива четной длины - array[mid].

Отсюда вы можете просто использовать циклы для сложения чисел из каждая сторона и получить сторону, используя переменную mid в условии вашего l oop.

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;

Это будет для одномерного массива. Похоже, вы говорите об использовании двумерного массива. В этом случае вы должны использовать вложенные циклы для перехода от строк к столбцам, где внешний для l oop - это строки, а внутренний - для определения столбцов.

...