多くの値の非常に大きな配列があり、row-major 1d array.
ex:
1 2 3
4 5 6
に格納されますint* array = {1,2,3,4,5,6};
私がしなければならないことは、 が与えられrow1, row2, column1, column2、次に面積の合計を出力することです。これにより、さまざまな面積を何度も計算するように要求されます。
私が考えているのは、最初にネストされたループを使用して配列をトラバースし、各行の合計を格納しsum_row、各列の合計sum_columnを格納し、合計要素の合計 im を格納することtotalSumです。
それからtotalSum - the row and the columns that surrond it + the elemnts that has been minus twice。
しかし、それは十分に速いようです。より高速に実行できるアルゴリズムや、係数を小さくできるコーディングスタイルのヒントはありますか?
事前にThx。