一维数组的动态和
解法一 暴力无脑 不推荐
public int[] runningSum(int[] nums) {
int sum = 0;
for(int i=nums.length-1;i>0;i--){
for (int j = i; j >= 0; j--) {
sum = sum + nums[j];
}
nums[i] = sum;
sum = 0;
}
return nums;
}
这应该是每一个无脑人都能想到的, 但是你仔细去读题,会发现 o(n)就能解决,因为第一个是不需要改变的值,第二个开始每一个值,都是与上一个相加就行。
解法二
public int[] runningSum(int[] nums) {
for(int i = 1; i<nums.length;i++){
nums[i] = nums[i]+nums[i-1];
}
return nums;
}