高度最小的BST
2016-03-24 19:26
330 查看
题目描述
对于一个元素各不相同且按升序排列的有序序列,请编写一个算法,创建一棵高度最小的二叉查找树。给定一个有序序列int[] vals,请返回创建的二叉查找树的高度。
import java.util.*; public class MinimalBST { public int buildMinimalBST(int[] vals) { // write code here if(vals==null||vals.length==0) return 0; return createTree(vals, 0, vals.length); } public int createTree(int[] vals, int start, int end){ if(start > end) return 0; int mid = (start + end)/2; int leftDepth = createTree(vals, start, mid-1); int rightDepth = createTree(vals, mid+1, end); return Math.max(leftDepth, rightDepth) + 1; } }
相关文章推荐
- Atitit.android webview h5运行环境总结
- java并发:线程同步机制之Lock
- 合理的制造bug,及查找bug
- Atitit.android webview h5运行环境总结
- 华为机试--删数
- 一元云购系统接入短信功能问题汇总
- ListView常用小技巧
- 微信H5 长按二维码识别不了
- 大话数据结构—散列表查找(哈希表)
- Atitit.android webview h5运行环境总结
- C++扬帆远航——17(递归函数求阶乘)
- android studio快捷键大全
- 【转】三种经典iPhone上网络抓包方法详解
- OSI参考模型
- codevs 1069 关押罪犯 并查集
- 快速排序
- python2.7:float2int 1.0=1 1.1=1.1
- Chai3d中球射线和几何对象的交点
- 【6】Linux-内存管理子系统
- OC篇学习-字符串