摘要: 给定两个有序数组arr1和arr2,在给定一个整数k,返回两个数组的所有数中第K小的数。例如:arr1 = {1,2,3,4,5};arr2 = {3,4,5};K = 1;因为1为所有数中最小的,所以返回1;arr1 = {1,2,3};arr2 = {3,4,5,6};K = 4;因为3为所有数... 阅读全文
posted @ 2015-06-19 22:45 穆穆兔兔 阅读(367) 评论(0) 推荐(0) 编辑
摘要: 给定两个有序数组arr1和arr2,两个数组长度都为N,求两个数组中所有数的上中位数。例如:arr1 = {1,2,3,4};arr2 = {3,4,5,6};一共8个数则上中位数是第4个数,所以返回3。arr1 = {0,1,2};arr2 = {3,4,5};一共6个数则上中位数是第3个数,所以... 阅读全文
posted @ 2015-06-19 22:28 穆穆兔兔 阅读(896) 评论(0) 推荐(0) 编辑
摘要: 给定一棵完全二叉树的头节点head,返回这棵树的节点个数。如果完全二叉树的节点数为N,请实现时间复杂度低于O(N)的解法。分析:遍历的话不管是前序、中序、后序还是层次都是O(N),低于O(N)只能是O(lgN),向二分方向努力。完全二叉树:除最后一层外,每一层上的节点数均达到最大值;在最后一层上只缺... 阅读全文
posted @ 2015-06-19 22:13 穆穆兔兔 阅读(412) 评论(0) 推荐(0) 编辑
摘要: 给定一个double类型的数组arr,其中的元素可正可负可0,返回子数组累乘的最大乘积。例如arr=[-2.5,4,0,3,0.5,8,-1],子数组[3,0.5,8]累乘可以获得最大的乘积12,所以返回12。分析,是一个dp的题目,设f[i]表示以i为结尾的最大值,g[i]表示以i结尾的最小值,那... 阅读全文
posted @ 2015-06-19 21:42 穆穆兔兔 阅读(425) 评论(0) 推荐(0) 编辑
摘要: 定义局部最小的概念。arr长度为1时,arr[0]是局部最小。arr的长度为N(N>1)时,如果arr[0] arr) { if(arr.size() == 0) return -1; if(arr.size... 阅读全文
posted @ 2015-06-19 21:34 穆穆兔兔 阅读(990) 评论(2) 推荐(1) 编辑