leetcode(58)-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:
You may assume that the array does not change.
There are many calls to sumRange function.
思路:
- 题意:要求给定坐标区间的数组的和,题目要求是大量的使用,所以需要构造缓存,构造缓存的方法就是记录,把num[i~j]的和,变为num[0~j]-num[0~i],这样就是缓存了一个长度为length的和
 
代码:
public class NumArray {
   private int[] num = null;
    public NumArray(int[] nums) {
        int all = 0;
        num = new int[nums.length];
        for(int i = 0; i < nums.length;i++){
            all = all+nums[i];
            num[i] = all;
        }
    }
    public int sumRange(int i, int j) {
       return i == 0 ? num[j]:num[j]-num[i-1];
    }
}
// Your NumArray object will be instantiated and called as such:
// NumArray numArray = new NumArray(nums);
// numArray.sumRange(0, 1);
// numArray.sumRange(1, 2);
leetcode(58)-Range Sum Query - 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 ...
 - [LeetCode] 303. Range Sum Query - Immutable (Easy)
		
303. Range Sum Query - Immutable class NumArray { private: vector<int> v; public: NumArray(vec ...
 - 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 ...
 - Leetcode 303 Range Sum Query - Immutable
		
题意:查询一个数组在(i,j]范围内的元素的和. 思路非常简单,做个预处理,打个表就好 拓展:可以使用树状数组来完成该统计,算法复杂度为(logn),该数据结构强力的地方是实现简单,而且能完成实时更新 ...
 - Java [Leetcode 303]Range Sum Query - Immutable
		
题目描述: Given an integer array nums, find the sum of the elements between indices i and j (i ≤ j), inc ...
 - LeetCode 303. Range Sum Query - Immutable (C++)
		
题目: Given an integer array nums, find the sum of the elements between indices iand j (i ≤ j), inclus ...
 - LeetCode 303 Range Sum Query - Immutable(范围总和查询-永久不变)(*)
		
翻译 给定一个整型数组nums,找出在索引i到j(i小于等于j)之间(包含i和j)的全部元素之和. 比如: 给定nums = [-2,0,3,-5,2,-1] sumRange(0, 2) -> ...
 - 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 ...
 - [LeetCode] 304. Range Sum Query 2D - Immutable 二维区域和检索 - 不可变
		
Given a 2D matrix matrix, find the sum of the elements inside the rectangle defined by its upper lef ...
 
随机推荐
- SQL语句容易出现错误的地方-连载
			
1.语言问题 修改语言注册表\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432\ORACLE\KEY_DevSuitHome1中的NLS_LANG修改为AMERICAN_AMER ...
 - 1089. Insert or Merge (25)
			
题目如下: According to Wikipedia: Insertion sort iterates, consuming one input element each repetition, ...
 - [shiro学习笔记]第二节 shiro与web融合实现一个简单的授权认证
			
本文地址:http://blog.csdn.net/sushengmiyan/article/details/39933993 shiro官网:http://shiro.apache.org/ shi ...
 - Mac下安装Homebrew并升级subversion
			
1. 切 Tencent-GuestWiFi2. $ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/ins ...
 - (NO.00005)iOS实现炸弹人游戏(九):游戏主角(二)
			
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 上篇介绍了游戏主角的初始化方法,下面我们一次来实现主角的其他方 ...
 - Centos中git的安装
			
 CentOS的yum源中没有git,只能自己编译安装,现在记录下编译安装的内容,留给自己备忘. 确保已安装了依赖的包 yum install curl yum install curl-deve ...
 - 2、Android构建本地单元测试
			
如果你的单元测试在Android中没有依赖或者只有简单的以来,你可以在你的本地开发环境中运行你的测试.这种测试比较高效因为它能让你避免将整个app安装到物理设备或虚拟机中执行单元测试.最后,执行单元测 ...
 - Linux之mailx的使用
			
mailx是UNIX系统上用来处理邮件的工具,使用它可以发送,读取邮件.下面看看如何使用它来发送邮件. 发送格式 mailx -s subject user@xxx.com < message_ ...
 - iOS下WebRTC音视频通话(三)-音视频通话
			
前两篇文章记录了音视频通话的一些概念和一些流程,以及一个局域网内音视频通话的示例. 今天以一个伪真实网络间的音视频通话示例,来分析WebRTC音视频通话的过程. 上一篇因为是在相同路由内,所以不需要穿 ...
 - Java EE 之 过滤器入门学习与总结(2)
			
今天就对使用Filter技术能做什么来个小小的归纳.也为了方便今后的复习. 控制浏览器不进行对jsp页面的缓存 //在doFilter方法中添加这样的代码 HttpServletRequest req ...