博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode] Range Sum Query - Immutable
阅读量:6831 次
发布时间:2019-06-26

本文共 1479 字,大约阅读时间需要 4 分钟。

The idea is fairly straightforward: create an array accu that stores the accumulated sum fornums such that accu[i] = nums[0] + ... + nums[i] in the initializer of NumArray. Then just return accu[j + 1] - accu[i] in sumRange. You may try the example in the problem statement to convince yourself of this idea.

The code is as follows.


C++

1 class NumArray { 2 public: 3     NumArray(vector
&nums) { 4 accu.push_back(0); 5 for (int num : nums) 6 accu.push_back(accu.back() + num); 7 } 8 9 int sumRange(int i, int j) {10 return accu[j + 1] - accu[i];11 }12 private:13 vector
accu;14 };15 16 17 // Your NumArray object will be instantiated and called as such:18 // NumArray numArray(nums);19 // numArray.sumRange(0, 1);20 // numArray.sumRange(1, 2);

Python

class NumArray(object):    def __init__(self, nums):        """        initialize your data structure here.        :type nums: List[int]        """        self.accu = [0]        for num in nums:            self.accu += self.accu[-1] + num,    def sumRange(self, i, j):        """        sum of elements nums[i..j], inclusive.        :type i: int        :type j: int        :rtype: int         """        return self.accu[j + 1] - self.accu[i]# Your NumArray object will be instantiated and called as such:# numArray = NumArray(nums)# numArray.sumRange(0, 1)# numArray.sumRange(1, 2)

 

转载于:https://www.cnblogs.com/jcliBlogger/p/4952704.html

你可能感兴趣的文章
Linux基础命令---文本过滤colrm
查看>>
快速搭建react项目骨架(按需加载、redux、axios、项目级目录等等)
查看>>
GPU编程(五): 利用好shared memory
查看>>
安装k8s 1.9.0 实践:问题集锦
查看>>
k8s RBAC 多租户权限控制实现
查看>>
30 岁转行做Python开发晚吗?而且是零基础
查看>>
GGV、祥峰投资、SIG领投,社区电商平台小区乐完成1.08亿美元A轮融资
查看>>
蓝牙BLE(BlueTooth BLE)入门及爬坑指南
查看>>
springboot结合maven打包发布
查看>>
在IIS上部署你的ASP.NET Core项目
查看>>
整理关于牛人们对图书管理系统领域建模的精彩讨论,以此希望大家学习下别人是如何思考的...
查看>>
三星反口承认智能手机遭遇危机,指望Galaxy 10和可折叠手机突围
查看>>
8051,PIC,AVR和ARM有什么区别?
查看>>
C# 匿名委托、匿名方法、匿名对象、Lambda表达式
查看>>
Zabbix zabbix_server指令(学习笔记二十五)
查看>>
老司机总结下 Android Studio 实用小技巧
查看>>
创建最小的Go docker 镜像
查看>>
浅入分析Linux
查看>>
jenkins 从git拉取代码
查看>>
Nginx 配置详解(学习笔记二)
查看>>