题目:区间求和 I
2015-09-07 00:10
337 查看
给定一个整数数组(下标由 0 到 n-1,其中 n 表示数组的规模),以及一个查询列表。每一个查询列表有两个整数 [start, end] 。 对于每个查询,计算出数组中从下标 start 到 end 之间的数的总和,并返回在结果列表中。
您在真实的面试中是否遇到过这个题?
Yes
样例
对于数组 [1,2,7,8,5],查询[(1,2),(0,4),(2,4)], 返回 [9,23,20]
注意
在做此题前,建议先完成以下三题:线段树的构造, 线段树的查询,以及线段树的修改。
标签 Expand
相关题目 Expand
解题思路:
用了暴力解法
给定一个整数数组(下标由 0 到 n-1,其中 n 表示数组的规模),以及一个查询列表。每一个查询列表有两个整数 [start, end] 。 对于每个查询,计算出数组中从下标 start 到 end 之间的数的总和,并返回在结果列表中。
您在真实的面试中是否遇到过这个题?
Yes
样例
对于数组 [1,2,7,8,5],查询[(1,2),(0,4),(2,4)], 返回 [9,23,20]
注意
在做此题前,建议先完成以下三题:线段树的构造, 线段树的查询,以及线段树的修改。
标签 Expand
相关题目 Expand
解题思路:
用了暴力解法
/** * Definition of Interval: * public classs Interval { * int start, end; * Interval(int start, int end) { * this.start = start; * this.end = end; * } */ public class Solution { /** *@param A, queries: Given an integer array and an query list *@return: The result list */ public ArrayList<Long> intervalSum(int[] A, ArrayList<Interval> queries) { // write your code here ArrayList<Long> res = new ArrayList<>(); if(A.length==0||null==A) return res; for(Interval query:queries){ long tmp = searchSum(A, query.start, query.end); res.add(tmp); } return res; } public long searchSum(int[] A,int s,int e){ long sum = 0; for(int i=s;i<=e;i++){ sum += A[i]; } return sum; } }
相关文章推荐
- Uva101-STL模拟
- 关于 ASP.NET 中的 Bundle 的补充说明(草稿)
- XHTML表单
- Linux文件系统权限总结
- java 多态
- Linux定时运行与开机运行任务
- java字节码生成与动态代理的实现
- 生成格雷码 转自leetcode
- Uva10474-STL水题-白书
- [LinkerScript.12] 符号赋值: 源代码引用- Assigning Values to Symbols: SourceCodeReferenceq边接
- Android开发过程中遇到的问题
- node.js AES/ECB/PKCS5Padding 与其他语言的加密解密通用
- 带我家小子学编程 01
- 敏捷开发之Scrum扫盲篇
- 四舍五入处理
- 网页上获取MAC地址与计算机名称
- How to detect the types of executable files
- lucene学习笔记02-基本索引
- zoj3738 Buy the Pets(人、猫、狗 DP)
- poj1005 解题报告