Go 刷 leetcode|动态规划之简单验收

共 491字,需浏览 1分钟

 ·

2020-07-27 19:49

今天为大家讲解 LeetCode 第 1480 题,有读者表示最近几题有点难度,今天就来一道简单的缓一缓叭(我当然不会告诉你其实是我时间匆忙姑且水一道简单题  :-D

题目描述

给你一个数组 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 <= nums.length <= 1000 -10^6 <= nums[i] <= 10^6

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/running-sum-of-1d-array 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解题思路

这题很简单粗暴,直接循环就完事!但是也有动态规划的思想

res[0] = nums[0]   ( i = 0)

res[i] = res[i-1] + nums[i] ( i > 0)

相信大家都懂,不多解释,直接上代码

代码实现

//go
func runningSum(nums []int) []int {
    length := len(nums)
    res := make([]int, length)
    if length < 1 {
        return res
    }
    res[0] = nums[0]
    for i := 1; i < length; i++ {
        res[i] = res[i-1] + nums[i]
    }
    return res
}
//java 
class Solution {
     public int[] runningSum(int[] nums) {
         int res[] = new int[nums.length];
         res[0] = res[0];
         for(int i = 1;i < nums.length ;i++){
             res[i] = res[i-1] + nums[i];
         }
         return res;
     }
 }

郑重声明:

所展示代码已通过 LeetCode 运行通过,请放心食用~




推荐阅读



学习交流 Go 语言,扫码回复「进群」即可


站长 polarisxu

自己的原创文章

不限于 Go 技术

职场和创业经验


Go语言中文网

每天为你

分享 Go 知识

Go爱好者值得关注



浏览 42
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报