int getKth(int* nums1, int m, int* nums2, int n, int k) { if(m > n) return getKth(nums2, n, nums1, m, k); if(m == 0) return nums2[k-1]; if(k == 1) return min(nums1[0], nums2[0]); int i = min(m, k/2); int j = min(k/2, n); if(nums1[i-1] > nums2[j-1]) return getKth(nums1, m, nums2+j, n-j, k-j); else return getKth(nums1+i, m-i, nums2, n, k-i); }
相关文章
- 两个有序数组中的中位数以及求第k个最小数的值
- 两个有序数组的中位数(第k大的数)
- 手写面试编程题- 数组去重 深拷贝 获取文本节点 设置奇数偶数背景色 JS中检测变量为string类型的方法 第6题闭包 将两个数组合并为一个数组 怎样添加、移除、移动、复制、创建和查找节点? 继承 对一个数组实现随机排序 让元素水平 垂直居中的三种方式 通过jQuery的extend方法实现深拷贝
- 【算法剖析】寻找两个已序数组中的第k大元素
- 查找两个已经排好序的数组的第k大的元素
- 查找两个已经排好序的数组的第k大的元素
- 编写函数求整形数组a中存储的m个不重复的整数的第k大的整数(其中m>=1,1<=k<=m)很简单的一个思路是酱紫的:管他辣么多干啥,上来一把排序然后直接得答案
- 【转载】两个排序数组的中位数 / 第K大元素(Median of Two Sorted Arrays)
- 获取两个已排序数组的第K大值