力扣303. 区域和检索 - 数组不可变

Problem: 303. 区域和检索 - 数组不可变

文章目录

  • 题目描述
  • 思路
  • 复杂度
  • Code

题目描述

在这里插入图片描述在这里插入图片描述

思路

创建前缀和数组preSum,其中preSum[i]处元素值为nums[0] - nums[i - 1]处元素值得和,当调用sumRange函数时直接返回preSum[right + 1] - preSum[left]

复杂度

函数sumRange的时间空间复杂度
时间复杂度:

O ( 1 ) O(1) O(1)

空间复杂度:

O ( 1 ) O(1) O(1)

Code

class NumArray {// Prefix arrayprivate int[] preSum;/*** Construct prefix sum** @param nums Given array*/public NumArray(int[] nums) {preSum = new int[nums.length + 1];for (int i = 1; i < preSum.length; ++i) {preSum[i] = preSum[i - 1] + nums[i - 1];}}/*** Query the sum of the closed interval [left, right]** @param left  Left boundary* @param right Right boundary* @return int*/public int sumRange(int left, int right) {return preSum[right + 1] - preSum[left];}
}/*** Your NumArray object will be instantiated and called as such:* NumArray obj = new NumArray(nums);* int param_1 = obj.sumRange(left,right);*/

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

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

相关文章

数据结构之ArrayList与顺序表(上)

找往期文章包括但不限于本期文章中不懂的知识点&#xff1a; 个人主页&#xff1a;我要学编程(ಥ_ಥ)-CSDN博客 所属专栏&#xff1a;数据结构&#xff08;Java版&#xff09; 顺序表的学习&#xff0c;点我 上面这篇博文是关于顺序表的基础知识&#xff0c;以及顺序表的实现。…

二维数组知识点

基本概念 二维数组是使用两个下标(索引)来确定元素的数组。 两个下标可以理解成行标和列标。 比如矩阵&#xff1a; 1 2 3 4 5 6 可以用二维数组int[2,3]表示&#xff0c;好比两行三列的数据集合。 二维数组的申明 //变量类型[,] 二维数组变量名; int[,] arr; //申明过后 …

CorelDRAW2024最新版本有哪些功能?揭秘设计界最新神器!

“设计”一词最早来源于拉丁语“designare”&#xff0c;意为计划&#xff0c;构思。随着时代的发展&#xff0c;人们将“设计”理解为一种创造性活动&#xff0c;通过这种活动&#xff0c;人们可以创造出新的产品、新的场景以及新的体验。 「CorelDRAW汉化版下载」&#xff0c…

优化财务管理制度提升企业经营效益—以审计代理记账为例

随着社会经济的快速发展&#xff0c;企业经营规模不断扩大&#xff0c;面临的财务管理问题也日益复杂&#xff0c;而作为其中的重要一环&#xff0c;审计代理记账已经成为了企业的必要组成部分&#xff0c;本文将重点探讨审计代理记账对于优化企业财务管理&#xff0c;提高经营…

Qt | QtBluetooth(蓝牙电脑当服务端+手机当客户端) 配对成功啦

01、前言 没有演示,因为穷,电脑没有带蓝牙,但是已在其他电脑进行演示,可以满足配对,后期再补充和手机进行聊天,如果有聊天的记得私聊我,好处大大滴。02、QtBlueTooth 简介 QtBluetooth 是一个跨平台的蓝牙库,它允许开发者创建在支持蓝牙的设备上运行的应用程序。这个库…

width: 100%和 width: 100vw这两种写法有什么区别

width: 100%; 和 width: 100vw; 是两种不同的 CSS 写法&#xff0c;它们在实际应用中会有不同的效果。以下是这两种写法的主要区别&#xff1a; width: 100%; 定义&#xff1a;将元素的宽度设置为其包含块&#xff08;通常是父元素&#xff09;宽度的 100%。效果&#xff1a;元…

网络实用技术答案

&#xff08; C &#xff09;不属于计算机网络四要素。A. 计算机系统 B. 传输介质C. 用户 D. 网络协议计算机网络中广域网和局域网的分类是以&#xff08; D &#xff09;来划分的。A. 信息交换方式 B&#xff0e;传输控制方法C. 网络使用习惯 D&#xff0e;网络覆盖范围计算机…

QT 信号和槽 多对一关联示例,多个信号,一个槽函数响应,多个信号源如何绑定一个槽函数

三个顾客 Anderson、Bruce、Castiel 都要订饭&#xff0c;分别对应三个按钮&#xff0c;点击一个按钮&#xff0c;就会弹出给该顾客送饭的消息。注意这个例子只使用一个槽函数&#xff0c;而三个顾客名称是不一样的&#xff0c;弹窗时显示的消息不一样&#xff0c;这需要一些 技…

用linux 1分钟部署一台文件上传/下载的http/https服务器

安装包官网&#xff1a;GitHub - codeskyblue/gohttpserver: The best HTTP Static File Server, write with golangvue 1、官网下载或本文章的资源链接下载gohttpserver&#xff1b; 2、将gohttpserver、cacert.pem、cakey.pem三个文件放在linux一个目录下 启动gohttpserver服…

有哪些针对平台端口的常见攻击手段

针对平台端口的攻击可以通过多种手段进行&#xff0c;这些手段涵盖了从扫描探测到利用漏洞入侵的整个过程。以下是一些常见的攻击手段及其简要描述&#xff1a; 端口扫描攻击&#xff1a; 攻击者使用端口扫描工具&#xff08;如Nmap&#xff09;探测目标系统开放的端口。通过分…

navi_cat查看数据库的连接密码

Navi_Cat 建立连接&#xff0c;来访问数据库。可惜&#xff0c;忘记了数据库密码&#xff0c;没事&#xff0c;这么搞。 首先先导出链接&#xff0c;再从链接里取出被加密的密码&#xff0c;然后找个可在线运行PHP的网站&#xff08;代码在线运行 - 在线工具&#xff09;&…

go语言内置预编译 //go:embed xxx 使用详解

在go语言里面&#xff0c;我们可以使用一个“类注释”的语法来来让编译器帮助我们在编译的时候将一些文件或者目录读取到指定的变量中来供我们使用。 go:embed语法&#xff1a; //go:embed 文件或者目录路径 var 变量名 变量类型 说明&#xff1a; 文件或者目录路径 可以…

网络简史-基于图论的网络

先看一幅图&#xff1a; 如图&#xff0c;我们对类似 crossbar&#xff0c;banyan tree&#xff0c;b-tree&#xff0c;10-tree&#xff0c;256-tree&#xff0c;甚至 dcn fat-tree 等 “规则拓扑” 网络相当熟悉。规则拓扑网络中&#xff0c;地址信息被编码到拓扑本身&#…

动态SLAM:ORB-SLAM2+YOLOv8

动态SLAM:基于ORB-SLAM2与YOLOv8剔除动态特征点(三种方法)_orbslamyolo-CSDN博客 动态SLAM&#xff1a;ORB-SLAM2YOLOv8-seg

pyqt5 tablewidget实现excel拖曳填充

代码主要涉及鼠标事件和绘图&#xff0c;selectionModel&#xff0c;selectedIndexes。 import sys from PyQt5.QtCore import QPoint, Qt, QCoreApplication, pyqtSlot from PyQt5.QtGui import QBrush, QPixmap, QColor, QPainter,QIcon,QPolygon from PyQt5.QtWidgets imp…

煮粽子(zongzi)

煮粽子 题目描述 端午节快到了&#xff0c;小红作为一名吃货&#xff0c;非常喜欢吃粽子&#xff0c;因此对端午节也是很期待的。 小红前往超市买了 n n n袋粽子&#xff0c;每袋粽子有 x x x颗。小红每次煮 k k k颗粽子&#xff0c;请你计算小红一共可以煮多少次&#xff0…

MicroPython教程:ESP8266 快速参考

ESP8266 快速参考 Adafruit Feather HUZZAH 板&#xff08;图片来源&#xff1a;Adafruit&#xff09;。 以下是基于 ESP8266 的开发板的快速参考。如果这是您第一次使用该板&#xff0c;请考虑先阅读以下部分&#xff1a; 关于 ESP8266 端口的一般信息ESP8266 的 MicroPytho…

持续总结中!2024年面试必问 20 道分布式、微服务面试题(一)

一、什么是分布式系统&#xff1f; 分布式系统是由多个计算机组成的系统&#xff0c;这些计算机通过网络连接在一起&#xff0c;协同工作以完成一个共同的目标或任务。以下是分布式系统的一些关键特点和概念&#xff1a; 网络连接&#xff1a;分布式系统中的计算机通常分布在不…

洛谷 P1253 扶苏的问题 题解 线段树

扶苏的问题 题目描述 给定一个长度为 n n n 的序列 a a a&#xff0c;要求支持如下三个操作&#xff1a; 给定区间 [ l , r ] [l, r] [l,r]&#xff0c;将区间内每个数都修改为 x x x。给定区间 [ l , r ] [l, r] [l,r]&#xff0c;将区间内每个数都加上 x x x。给定区…

每日一题:聊聊 Redis 过期键的删除策略

聊聊 Redis 过期键的删除策略 答案 惰性删除 &#xff1a;只会在取出 key 的时候才对数据进行过期检查&#xff1b;这样对 CPU 最友好&#xff0c;但是可能会造成太多过期 key 没有被删除&#xff08;占用内存&#xff09;。 通过定时器实现&#xff08;时间事件&#xff09;&…