
首先思路就是直接累加两个循环进行遍历
public static int[] runningSum(int[] nums) {
int[] ans = new int[nums.length];
for (int i = 0; i < nums.length; i++) {
int num =0;
for (int j = 0; j <= i; j++) {
num += nums[j];
}
ans[i] = num;
}
return ans;
}
可是显然没有这个必要时间复杂度O(n2),其实就是ans[i-1]+nus[i]的过程
public static int[] runningSum2(int[] nums) {
int[] ans = new int[nums.length];
int num =0;
for (int i = 0; i < nums.length; i++) {
num +=nums[i];
ans[i] = num;
}
return ans;
}
于是
