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

Go语言精选

共 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爱好者值得关注



浏览 4
点赞
评论
收藏
分享

手机扫一扫分享

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

手机扫一扫分享

分享
举报