zoukankan      html  css  js  c++  java
  • 力扣刷题记录2021.2.23 一维数组的动态和

    题目描述

    给你一个数组 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]


    思路分析: 定义一个结果集数组result ,遍历nums数组,用while循环来计算result对应的每一个和;


    代码详情

    public class 一维动态数组的和 {
    public int[] runningSum(int[] nums) {

    int[] result = new int[nums.length];
    int temp = 0;
    for (int i = 0; i < nums.length; i++) {
    temp = i;
    int sum = 0;
    while (temp >= 0) {
    sum += nums[temp];
    temp--;
    }
    result[i] = sum;
    }
    return result;
    }
    }
    执行用时:2 ms, 在所有 Java 提交中击败了13.89%的用户
    内存消耗:38.9 MB, 在所有 Java 提交中击败了5.70%的用户

    优化
    //优化版,直接计算nums和,当前位置的和就是当前值+前一个的值

    public int[] runningSum1(int[] nums) {
    for (int i = 1; i < nums.length; i++) {
    nums[i] += nums[i - 1];
    }
    return nums;
    }
    执行用时:0 ms, 在所有 Java 提交中击败了100.00%的用户
    内存消耗:38.7 MB, 在所有 Java 提交中击败了30.93%的用户
  • 相关阅读:
    Git 简要教程
    SDK更新失败问题解决
    常用安卓操作
    MongoDB本地安装与启用(windows 7/10)
    windows 快捷键收集
    windows 常用命令
    Lambda Expression Introduction
    对 load_breast_cancer 进行 SVM 分类
    Support Vector Machine
    使用 ID3 对 Titanic 进行决策树分类
  • 原文地址:https://www.cnblogs.com/spx88/p/14437331.html
Copyright © 2011-2022 走看看