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%的用户
  • 相关阅读:
    emacs窗口切换神器--window-numbering
    yum命令总结
    Emacs快捷键设置
    emacs常用命令
    Emacs编辑远程服务器中的文件
    (转)emacs安装cedet和ecb
    (转)replace 和 on duplicate key update语句
    HashMap解决hash冲突的方法
    程序员的学习和积累
    HttpClient 设置代理方式
  • 原文地址:https://www.cnblogs.com/spx88/p/14437331.html
Copyright © 2011-2022 走看看