
分治
han_hhh
这个作者很懒,什么都没留下…
展开
-
统计逆序【python】
给定一个序列:[a1,a2,a3,a4,……,an],若i<j且ai>aj,则构成逆序分治思想:分解:将原序列分成左右两部分left和right递归:对每一部分调用inversion来计算各部分的逆序数合并:结果为count_left(left)+count_right(right)+count_left_right(left,right)其中count_left和...原创 2019-07-03 10:35:01 · 943 阅读 · 0 评论 -
4.寻找两个有序数组的中位数
首先,根据题目中复杂度为O(log(m+n)),应该是用二分法。刚开始觉得很有想法,应该用分治,就是写不出来,无奈又走上了搜题解的不归路(题解也看了好久好久啊)怎么用这个二分法呢两个数组nums1和nums2,不同时为空。i为数组nums1的起始位置,j为数组nums2的起始位置,k表示查找两个数组的第k个元素。运算中一步步缩小要查找元素的范围,用递归来实现,跳出递归的途径有两个:1、...原创 2019-07-31 17:13:10 · 209 阅读 · 0 评论