IOS 算法(基础篇) ----- 一维数组的动态和

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

例如:

给定 nums = [1, 2, 3, 4, 5]
返回 result = [1, 3, 6, 10, 15] 即 [1, 1+2, 1+2+3, 1+2+3+4, 1+2+3+4+5]

给定 nums = [2, 2, 2, 2]
返回 result = [2, 4, 6, 8] 即 [2, 2+2, 2+2+2, 2+2+2+2]

这道算法题比较简单
重点地方就是 "记住" 上一项和

//第一种方法
class Solution {
    func runningSum(_ nums: [Int]) -> [Int] {

        var result: [Int] = []
        var sum = 0
        for i in 0..<nums.count {
            sum = sum + nums[i]
            result.append(sum)
        }
        return result
    } 
}
//第二种方法
class Solution {
    func runningSum(_ nums: [Int]) -> [Int] {

       if(nums.count == 0){
           return []
        }
        var result: [Int] = [nums[0]]
        for index in 1..<nums.count {
            result.append(result[index - 1] + nums[index])
        }
        return result
    } 
}

题目来源:力扣(LeetCode) 感谢力扣爸爸 :)

IOS 算法合集地址

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容