1480. 一维数组的动态和
难度:简单
题目描述:
给你一个数组 nums 。数组「动态和」的计算公式为:runningSum[i] = sum(nums[0]…nums[i]) 。
请返回 nums 的动态和。
示例
示例 1:
输入:nums = [1,2,3,4]
输出:[1,3,6,10]
解释:动态和计算过程为 [1, 1+2, 1+2+3, 1+2+3+4] 。
示例 2:
输入:nums = [1,1,1,1,1]
输出:[1,2,3,4,5]
解释:动态和计算过程为 [1, 1+1, 1+1+1, 1+1+1+1, 1+1+1+1+1] 。
示例 3:
输入:nums = [3,1,2,10,1]
输出:[3,4,6,16,17]
解题思路:
方法一:
1.定义一个int型sum来计算原nums数组对应位置的和
2.定义一个int型数组res(res数组长度与nums数字长度相同)来保存sum的值
3.返回res数组
方法一:
用res[i-1]来保存nums[]中前i-1个数的和
代码:
方法一:
1 class Solution { 2 public int[] runningSum(int[] nums) { 3 int sum = 0 ; 4 int length = nums.length; 5 int [] res = new int[length]; 6 for(int i = 0;i < length;i++){ 7 sum = sum + nums[i]; 8 res[i] = sum; 9 } 10 return res; 11 } 12 }
方法二:
1 class Solution { 2 public int[] runningSum(int[] nums) { 3 int [] res = new int[nums.length]; 4 res[0] = nums[0]; 5 for(int i = 1;i < nums.length;i++){ 6 res[i] = res[i-1] + nums[i]; 7 } 8 return res; 9 } 10 }