Segment Tree Build
来源:互联网 发布:数据透视表怎么用 编辑:程序博客网 时间:2024/06/05 06:44
For an integer array (index from 0 to n-1, where n is the size of this array), in the corresponding SegmentTree, each node stores an extra attribute max
to denote the maximum number in the interval of the array (index from start to end).
Design a query
method with three parameters root
, start
and end
, find the maximum number in the interval [start, end] by the given root of segment tree.
Notice
It is much easier to understand this problem if you finished Segment Tree Build first.
For array [1, 4, 2, 3]
, the corresponding Segment Tree is:
[0, 3, max=4] / \ [0,1,max=4] [2,3,max=3] / \ / \ [0,0,max=1] [1,1,max=4] [2,2,max=2], [3,3,max=3]
query(root, 1, 1), return 4
query(root, 1, 2), return 4
query(root, 2, 3), return 3
query(root, 0, 2), return 4
1. 首先写边界条件如果start>end 那么返回null
2. 如果 start == end那么说明当前位置为根结点,不用递归可以直接返回。
3. start < end, 那么首先用start end构建一个当前节点,然后对它的左边,右边分别进行构建子数,然后再返回当前节点。
代码:
public SegmentTreeNode build(int start, int end) { // write your code here if(start>end){ return null; } if(start==end){ return new SegmentTreeNode(start, start); } int mid = start + (end - start)/2; SegmentTreeNode node = new SegmentTreeNode(start, end); node.left = build(start, mid); node.right = build(mid+1, end); return node; }
- Lintcode - Segment Tree Build
- #201 Segment Tree Build
- [Lintcode]Segment Tree Build
- Segment Tree Build
- Segment Tree Build
- Segment Tree Build II
- #439 Segment Tree Build II
- *[Lintcode]Segment Tree Build II
- [LintCode]Segment Tree Build 构造线段树
- lintcode segment-tree-build 线段树的构造
- Segment tree
- Segment Tree
- Segment Tree
- segment Tree
- Segment Tree
- Segment Tree
- 201.Segment Tree Build-线段树的构造(中等题)
- 线段树(segment tree)
- Android MVP的深度解读,让你轻松了解并使用MVP.
- QQ在线回话的超连接13中样式
- MyBatis Generator 详解
- 精通 CSS+DIV 网页样式与布局 28
- Oracle中sequence的创建和sequence的触发器的创建
- Segment Tree Build
- 精通 CSS+DIV 网页样式与布局 29
- 对于JFrame通过菜单栏切换窗口、界面
- android开发 滑动屏幕的监听
- zookeeper部署
- 精通 CSS+DIV 网页样式与布局 30
- 基于GoogleAuthenticator的Totp手机宝令功能
- malloc函数详解
- Python 切片