給定兩個大小為 m 和 n 的有序陣列 nums1 和 nums2 。
請找出這兩個有序陣列的中位數。要求演算法的時間複雜度為 o(log (m+n)) 。
示例 1:
nums1 = [1, 3]示例 2:nums2 = [2]
中位數是 2.0
nums1 = [1, 2]nums2 = [3, 4]
中位數是 (2 + 3)/2 = 2.5
package subject4;
public class subject4 , new int )); }}
class solution
return (findkth(nums1, 0, length1, nums2, 0, length2, length/ 2)
+ findkth(nums1, 0, length1, nums2, 0, length2, length / 2 + 1)) / 2;
} private double findkth(int nums1, int start1, int length1, int nums2, int start2, int length2, int k)
//nums1裡面的值都在前k中
if(start1==length1)
if(k==1)
int nextstart1 = start1+math.min(k/2, length1-start1);
int nextstart2 = start2+(k-nextstart1+start1);
if(nums1[nextstart1-1]<=nums2[nextstart2-1])
else
}}
leetcode,兩個排序陣列的中位數
先上題目描述 給定兩個大小為 m 和 n 的有序陣列 nums1 和 nums2 請找出這兩個有序陣列的中位數。要求演算法的時間複雜度為 o log m n 你可以假設 nums1 和 nums2 不同時為空。示例 1 nums1 1,3 nums2 2 中位數是 2.0 示例 2 nums1 1,...
LeetCode 兩個排序陣列合併問題
merge sorted array 問題 given two sorted integer arrays a and b,merge b into a as one sorted array.常規思想 從b的起始位置開始,將選中的值與a陣列值逐一判斷,找到a i 大於b j 的i將其插入,如此迭代...
Leetcode 合併兩個有序陣列
題目如下 給定兩個有序整數陣列 nums1 和 nums2,將 nums2 合併到 nums1 中,使得 num1 成為乙個有序陣列。說明 示例 輸入 nums1 1,2,3,0,0,0 m 3 nums2 2,5,6 n 3 輸出 1,2,2,3,5,6 用python只需要兩行 class so...