思路是用一个二维数组sum来储存(0, 0)到该点所形成的子矩阵中所有数的和。即sum.at(i).at(j)储存着以(0,0)(i,j)为反对角线的矩阵的所有元素的和。当要计算(x1, y1)与(x2, y2)所形成的矩阵中所有元素的和时,只需要用(0, 0)(x2, y2)这个大的矩形,减去(0, 0)(x1 - 1, y2)和(0, 0)(x2, y1 - 1)这两个矩形。当x1或y1为0时需分类讨论。这种做法的时间复杂度主要体现在建立sum数组上,建立sum时用到了三重循环,时间复杂度在O(nm)之上。空间复杂度为O(nm)。时间复杂度过高这个问题在提交时暴露无遗。此时我开始意识到我的...