当前位置: 首页 > news >正文

LeetCode -- Range Sum Query - Immutable

LeetCode -- 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.


传入起始索引,返回数组求和的值。
思路:
使用缓存前n项的和。


public class NumArray {
    private int[] _cacheSum ;
	private int[] _nums;
    public NumArray(int[] nums) {
		_nums = nums;
		_cacheSum = new int[nums.Length];
		
        var s = 0;
        for (var i = 0;i < nums.Length; i++){
            s += nums[i];
            _cacheSum[i] = s;
        }
    }


    public int SumRange(int i, int j) {
	 	if(_nums == null || _nums.Length == 0){
			return 0;
		}
		if(i < 0 || j > _nums.Length - 1){
			return 0;
		}
		
		return _cacheSum[j] - _cacheSum[i] + _nums[i];
    }
}


相关文章:

  • 嵌入式产品认证相关的小知识
  • leet code - Third Maximum Number
  • 关于中国软件发展的讨论沙龙
  • SQL server replication的三种方式
  • leetcode -- Count Numbers with Unique Digits
  • javascript小数四舍五入
  • 业务场景和业务用例场景的区别(作者:Arthur网友)
  • Android -- 打开时隐藏软键盘
  • 邀请大象一书的读者和广大网友写关于分析设计、建模方面的自愿者文章
  • Android -- 读取NFC卡号
  • Windows 7安装以及VS2008和Office2007冲突的问题
  • C# Windows form application 播放小视频
  • 系列文章—内容模型系统开发总结一
  • LeetCode -- Coin chane
  • LeetCode -- Ransom Note
  • Apache Spark Streaming 使用实例
  • CentOS 7 修改主机名
  • ES6系统学习----从Apollo Client看解构赋值
  • Git同步原始仓库到Fork仓库中
  • javascript 总结(常用工具类的封装)
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • MySQL-事务管理(基础)
  • 半理解系列--Promise的进化史
  • 官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?
  • 将回调地狱按在地上摩擦的Promise
  • 盘点那些不知名却常用的 Git 操作
  • 前端面试之CSS3新特性
  • 强力优化Rancher k8s中国区的使用体验
  • 微信小程序上拉加载:onReachBottom详解+设置触发距离
  • 7行Python代码的人脸识别
  • Nginx惊现漏洞 百万网站面临“拖库”风险
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (二)换源+apt-get基础配置+搜狗拼音
  • (翻译)terry crowley: 写给程序员
  • (六)软件测试分工
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (幽默漫画)有个程序员老公,是怎样的体验?
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • (转)关于pipe()的详细解析
  • (轉貼) 寄發紅帖基本原則(教育部禮儀司頒布) (雜項)
  • * CIL library *(* CIL module *) : error LNK2005: _DllMain@12 already defined in mfcs120u.lib(dllmodu
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .bashrc在哪里,alias妙用
  • .NET 5.0正式发布,有什么功能特性(翻译)
  • .NET Core WebAPI中封装Swagger配置
  • .NET Core 将实体类转换为 SQL(ORM 映射)
  • .NET Core实战项目之CMS 第十二章 开发篇-Dapper封装CURD及仓储代码生成器实现
  • .NET MVC第三章、三种传值方式
  • .NET MVC第五章、模型绑定获取表单数据
  • .NET 将混合了多个不同平台(Windows Mac Linux)的文件 目录的路径格式化成同一个平台下的路径
  • .Net程序帮助文档制作
  • @zabbix数据库历史与趋势数据占用优化(mysql存储查询)