首页 > 其他分享 >LeetCode: 303. Range Sum Query - Immutable

LeetCode: 303. Range Sum Query - Immutable

时间:2022-12-05 18:00:41浏览次数:50  
标签:arr nums int Sum 303 PrefixSum NumArray sumRange Immutable


LeetCode: 303. Range Sum Query - Immutable

题目描述

Given an integer array nums, find the sum of the elements between indices i and j (i ≤ j), inclusive.

Example:

Given nums = [-2, 0, 3, -5, 2, -1]

sumRange(0, 2) -> 1
sumRange(2, 5) -> -1
sumRange(0, 5) -> -3

Note:

  1. You may assume that the array does not change.
  2. There are many calls to sumRange function.

解题思路 —— 前缀和

记录下前缀和, 即,​​PrefixSum[i]​​​ 表示前 ​​i​​ 个数字的和。

特别地,当 ​​i = 0​​​ 时, ​​PrefixSum[i] = 0​​。

则 ​​sumRange(i, j) = PrefixSum[j] - PrefixSum[i]​​.

AC 代码

type NumArray struct {
PrefixSum []int // 前缀和
}


func Constructor(nums []int) NumArray {
arr := NumArray{ []int{0} }

for i := 0; i < len(nums); i++{
arr.PrefixSum = append(arr.PrefixSum, nums[i] + arr.PrefixSum[i])
}

return arr
}


func (this *NumArray) SumRange(i int, j int) int {
return this.PrefixSum[j+1] - this.PrefixSum[i]
}


/**
* Your NumArray object will be instantiated and called as such:
* obj := Constructor(nums);
* param_1 := obj.SumRange(i,j);
*/


标签:arr,nums,int,Sum,303,PrefixSum,NumArray,sumRange,Immutable
From: https://blog.51cto.com/u_15903085/5913223

相关文章

  • LeetCode: 304. Range Sum Query 2D - Immutable
    LeetCode:304.RangeSumQuery2D-Immutable题目描述Givena2Dmatrixmatrix,findthesumoftheelementsinsidetherectangledefinedbyitsupperleftcorn......
  • LeetCode: 307. Range Sum Query - Mutable
    LeetCode:307.RangeSumQuery-Mutable题目描述Givenanintegerarraynums,findthesumoftheelementsbetweenindices​​i​​​and​​j(i≤j)​​,i......
  • python中ImmutableMultiDict嵌套字典的值获取和解决400状态码的问题
    在写接口的过程中遇到了一次请求状态码400原因是用elementupload组件上传照片,后端采用flask的时候用request.form读取上传携带的其他参数,data=request.formtitle=......
  • HTML5中新的summary和details标签学习
    HTML5中的标签是越来越多了,下面挖掘两个居然在标准中提到的,但依然绝大部分浏览器都不支持的标签,目前只有chrome支持(最新版本)。所谓的summary和detai......
  • [Typescript] 126. Hard - Two Sum
    Givenanarrayofintegers nums andaninteger target,returntrueiftwonumberssuchthattheyaddupto target./*_____________YourCodeHere________......
  • two number sum
     nestedloopremand=[3,5,-4,8,11,1,-1,6]goal=10defpalindrome(array:list[int],goal:int)->tuple:length=len(array)foriinra......
  • SumatraPDF-3.2-64下载,开发必备,非常小巧的PDF阅读器
    关注微信公众号【工控羊】或者微信号【gksheep】,微信公众号后台输入数字编号【2020】即可获取下载链接。......
  • Windbg提示:*** WARNING: Unable to verify checksum for 的处理
    当我们用windbg调试时,经常会遇到“***WARNING:Unabletoverifychecksumforxxx.dll”这样的提示,他的意思时不能校验某某模块的校验和。这一般都是我们的动态库或exe的......
  • lwl-resume 个人简历编辑使用说明
    LWLRESUME一个简洁、可自定义生成pdf的在线简历编辑工具!前言我们一般都是使用word编写简历,但是排版问题比较头疼,非常耗时不说,最后转换pdf有些地方可能还会样式错乱……......
  • Nsum问题
    双指针解决NSum问题1.两数之和publicint[]twoSum(int[]nums,inttarget){/***首先,对于该题要求返回原始数组下标,这里就要求不能手动排序......