当前位置:网站首页>一维数组动态和问题答记

一维数组动态和问题答记

2022-08-10 19:05:00 小问号我们是朋友

给定题干:

给你一个数组 nums 。数组「动态和」的计算公式为:runningSum[i] = sum(nums[0]…nums[i]) 。

请返回 nums 的动态和。

题目来源:

力扣(LeetCode)


1.示例

代码如下(示例):

输入: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] 。

2.解答与注记

代码如下(Java):

class Solution {
    public int[] runningSum(int[] nums) {
        int len = nums.length;
        //解法1
        //新建一个空的数组
        int[] resSum = new int[len];
        //遍历给定数组,数组的第一个元素直接放入新数组中,后面的元素每次都与新数组的上一个元素相加。
        for(int i = 0; i < len; i++) {
            if(i == 0) {
                resSum[i] = nums[i];
            }else {
                resSum[i] = resSum[i - 1] + nums[i];
            }
        }
        return resSum;

        //解法2
        //在原数组的基础上做原地遍历修改,第一个元素不做修改,后续的元素每次加上上一个元素。
        for(int i = 0; i < len; i++) {
            if(i != 0) {
                nums[i] += nums[i - 1];
            }
        }
        return nums;
    }
}

总结

以上就是今天要讲的内容,本文介绍了一维数组动态和的解决方法,在此备忘以供参考。

原网站

版权声明
本文为[小问号我们是朋友]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_43055101/article/details/126171303