LeetCode 1480. 一维数组的动态和

news2024/11/18 21:28:27

有人相爱
有人深夜看海
有人LeetCode第一题都做不出来
小趴菜就是我

女神镇楼压压惊
在这里插入图片描述

文章目录

    • LeetCode 1480. 一维数组的动态和
    • 题目描述:
          • 示例1:
          • 示例2:
          • 示例3:
          • 提示:
    • 解题思路
    • 题解
    • 结果展示
    • 大神题解
        • 执行消耗内存为 0 kb(来自小趴菜的仰望) 的范例
    • 官方题解
        • 思路和算法-原地修改
        • 代码
        • 复杂度分析

LeetCode 1480. 一维数组的动态和

题目描述:

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

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/running-sum-of-1d-array
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
示例3:
输入:nums = [3,1,2,10,1]
输出:[3,4,6,16,17]
提示:
  • 1 <= nums.length <= 1000
  • -10^6 <= nums[i] <= 10^6

解题思路

  1. 建立一个新的数组存放修改的数据
    创立一个新的空数组。则新数组里的newnums[i]数据存放的是nums[0]~nums[i]的和
    let sum=0; sum = nums[i]+sum;
    将sum一个一个的push放进新数组newnums[]里
  2. 在原数组上进行修改
    除了第一个,nums[i]=nums[i-1]+nums[i];
    返回nums

题解

方法一

package Novicevillage.leetcode;

/**
 * @author yinying
 * @Package Novicevillage.leetcode
 * @Description:
 * @Date 2023/1/29 22:01
 */
public class Solution {
    public int[] runningSum(int[] nums) {
        if(nums.length == 0){
            return nums;
        }
        for(int i = 1; i < nums.length; i++){
            nums[i] = nums[i] + nums[i - 1];
        }
        return nums;
    }
}


方法二

class Solution {
    public int[] runningSum(int[] nums) {
        int[] result = new int[nums.length];
        result[0] = nums[0];

        for(int i = 1; i < result.length; i++){
            result[i] = result[i - 1] + nums[i];
        }

        return result;

    }
}

结果展示

在这里插入图片描述内存占用太高,第一题勉强成功在这里插入图片描述

大神题解

执行消耗内存为 0 kb(来自小趴菜的仰望) 的范例

class Solution {
    public int[] runningSum(int[] nums) {
        int[] result = new int[nums.length];
        result[0] = nums[0];

        for(int i = 1; i < result.length; i++){
            result[i] = result[i - 1] + nums[i];
        }

        return result;

    }
}

官方题解

思路和算法-原地修改

当 i = 0 时, runningSum[i] = nums[0];
当 i > 0时, runningSum[i] = runningSum[i-1] + nums[i]

代码

class Solution {
public:
    vector<int> runningSum(vector<int>& nums) {
        int n = nums.size();
        for (int i = 1; i < n; i++) {
            nums[i] += nums[i - 1];
        }
        return nums;
    }
};

复杂度分析

  • 时间复杂度:O(n),其中n是给定数组长度。
  • 空间复杂度:O(1)。们只需要常数的空间保存若干变量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/185679.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

轻量级 K8S 环境、本地 K8S 环境Minikube,一键使用 (史上最全)

文章很长&#xff0c;而且持续更新&#xff0c;建议收藏起来&#xff0c;慢慢读&#xff01;疯狂创客圈总目录 博客园版 为您奉上珍贵的学习资源 &#xff1a; 免费赠送 :《尼恩Java面试宝典》 持续更新 史上最全 面试必备 2000页 面试必备 大厂必备 涨薪必备 免费赠送 经典…

基于android的教育机构家校通系统app

需求信息&#xff1a; 客户端老师 1&#xff1a;用户注册与登录 2&#xff1a;添加作业信息&#xff1b;作业包含选择、填空以及简单题 3&#xff1a;查看自己添加的试题信息&#xff1b; 4&#xff1a;对学生提交的作业信息进行查看和批改&#xff1b; 5&#xff1a;和学生进行…

自学Vue开发Dapp去中心化钱包(三)

前言本篇主要记录学习Vue并实际参与完结web3门户项目的经验和走过的弯路。拖了这么久才来还债&#xff0c;说项目忙那是借口&#xff0c;还是因为个人懒&#xff01;从自学到实战Vue实际中间就1周的学习熟悉时间&#xff0c;学习不够深就会造成基础不稳&#xff0c;多次推翻重来…

新的一年里技术管理者(工作者)们如何做好技术规划?

技术管理者的主要工作 技术管理者的主要工作是带人、做事、看方向: 带人是指团队人员能力的培养、团队梯队的建设等等;做事是指完成各项业务需求;看方向是指明确团队未来的发展方向和目标。我们经常会辩论“做管理了还要不要写代码”这个话题,而“写代码”只是“做事”里面…

Java——Maven项目管理

目录Maven1&#xff0c;Maven1.1 Maven简介1.1.1 Maven模型1.1.2 仓库1.3 Maven基本使用1.3.1 Maven 常用命令1.3.2 Maven 生命周期1.4.2 Maven 坐标详解1.4.3 IDEA 创建 Maven项目1.4.4 IDEA 导入 Maven项目1.5 依赖管理1.5.1 使用坐标引入jar包1.5.2 依赖范围Maven 目标 能够…

服务器与客户端的一般套路

WinSocket 套接字 ————服务器与客户端的一般套路 一、开发环境 IDE: Red Panda Dev-C 6.5编程语言&#xff1a;C语言库&#xff1a;winsock2.h 二、套接字工作流程图 注意&#xff1a;这个工作流程图非常重要&#xff0c;后面的代码编写基本就是这个逻辑 三、服务器各…

前端基于DOM或者Canvas实现页面水印

&#x1f431; 个人主页&#xff1a;不叫猫先生 &#x1f64b;‍♂️ 作者简介&#xff1a;前端领域新星创作者、阿里云专家博主&#xff0c;专注于前端各领域技术&#xff0c;共同学习共同进步&#xff0c;一起加油呀&#xff01; &#x1f4ab;系列专栏&#xff1a;vue3从入门…

AtCoder Beginner Contest 287(A~E)

比赛名称&#xff1a;UNIQUE VISION Programming Contest 2023 New Year (AtCoder Beginner Contest 287) 比赛链接&#xff1a;AtCoder Beginner Contest 287 目录 A - Majority B - Postal Card C - Path Graph? D - Match or Not E - Karuta A - Majority 问字…

工作和学习中都能用到的5款实用软件

如今&#xff0c;工作和学习都离不开电脑&#xff0c;所以电脑里的软件自然也是必不可少的&#xff0c;但是电脑软件那么多&#xff0c;不可能每个都装上吧&#xff0c;所以我们要装好用的、实用的&#xff0c;下面给大家分享5款好用到爆的软件&#xff0c;很多懂电脑的人都在用…

【算法】雪花算法

一.特点 1.全局唯一性&#xff1a;对于大数据量的分库分表场景&#xff0c;例如水平分表需要保证主键id的全局唯一性。 2.趋势递增&#xff1a;整体的id趋势是递增的&#xff0c;不是单调递增。 3.不规则性&#xff1a;id不连续&#xff0c;无规则&#xff0c;不规则。 4.包含…

乾元通多卡聚合通信设备保障生态环境监测网络

针对目前城市大气环境监测网格化建设&#xff0c;推出的新一代城市网格化大气环境监测系统&#xff0c;可以实现城市区域环境多维一体化监测管理&#xff0c;该设备主要用于监测大气环境中的PM10、TSP、PM2.5等颗粒物浓度&#xff0c;还可以实现环境监控&#xff0c;测噪音、大…

Node.JS 安装配置 | 安装排错解析

&#x1f497;wei_shuo的个人主页 &#x1f4ab;wei_shuo的学习社区 &#x1f310;Hello World &#xff01; Node.js下载 Node.js官方下载地址 官方下载如果慢&#xff0c;请用如下地址下载&#xff1a; Node.js 中文网 根据自己计算机配置下载 Next Next 安装地址可更换 Next…

年后找工作必看的自动化测试面试宝典,一般人我不告诉他

目录 前言 1.1 什么是 API&#xff1f; 1.2 什么是 API 测试&#xff1f; 1.3 常见的 API 测试类型有哪些&#xff1f; 1.4 列举 API 测试中使用的一些常用协议&#xff1f; 1.9API 常见测试有哪些&#xff1f; 1.10API 测试有哪些优势&#xff1f; 1.11API 测试中究竟…

【PHP 随记】—— Composer 安装项目以及项目的扩展

&#x1f449;总目录&#x1f448;\large\colorbox{skyblue}{&#x1f449;总目录&#x1f448;}&#x1f449;总目录&#x1f448;​ 文章目录1、Composer 安装项目① 项目安装示例② 相关问题解决③ 框架搜索指南2、Composer 安装项目的扩展使用 Composer 更轻松方便地安装 P…

RV1126笔记二十五:区域入侵检测

若该文为原创文章,转载请注明原文出处。 一、 前言 区域入侵检测是通过识别目标之后获取目标坐标位置,判断目标是否在所标定的区域内出现,常常被用在电子围栏,不安全区域入侵检测,智慧城市,安防监控等领域。具体使用场景有,在标定的区域内不能抽烟,进入工地区域必须佩…

Java快速上手Properties集合类

概念 Java中的Properties文件是一种配置文件&#xff0c;主要用于表达配置信息&#xff0c;格式是文本文件。该类主要用于读取Java的配置文件&#xff0c;也可以对properties文件进行修改 属性配置&#xff1a;以“键值”的方式书写一个属性的配置信息 注 释&#xff1a;在pro…

我建议大学生看一下阿凡达2,对离校后很有帮助

网上评价阿凡达2说剧情拉胯&#xff0c;但我却通过他的剧情看到了当代大学生的一些影子&#xff0c;尤其是对于离校的毕业生来说&#xff0c;相对吻合的场景还是很多的&#xff0c;让我来分析一下。 目录 阿发达2关键剧情点 1、在校期间 2、终于要离校了 3、离开学校&…

Flutter 安装踩坑记录 HTTP host https://pub.dev/ is not reachable.

Flutter安装踩坑记录安装Flutter SDK参考链接安装Flutter SDK Windows安装 flutter官网下载flutter sdk包 2.解压到C盘除去program file相关的目录&#xff08;最好自己创建一个新的目录&#xff0c;因为放在program file等目录需要特殊的权限&#xff0c;会出现问题&#xf…

【解读】CSA CISO研究报告: 零信任的部署现状及未来展望

零信任理念已经存在了十多年。然而对需要保护IT系统的企业来说&#xff0c;这个术语及其实施方式的关注度显著增加。 国际云安全联盟CSA发布调研报告《CISO研究报告&#xff1a;零信任的部署现状及未来展望》&#xff0c;本次调研的目的是使大家更好地理解组织机构内部的零信任…

【My Electronic Notes系列——放大电路与集成运算放大器】

目录 序言&#xff1a; &#x1f3c6;&#x1f3c6;人生在世&#xff0c;成功并非易事&#xff0c;他需要破茧而出的决心&#xff0c;他需要永不放弃的信念&#xff0c;他需要水滴石穿的坚持&#xff0c;他需要自强不息的勇气&#xff0c;他需要无畏无惧的凛然。要想成功&…