class Solution {
public:
double findMedianSortedArrays(vector<int>& nums1, vector<int>& nums2) {
//先求两个数组的长度
int len1 = nums1.size();
int len2 = nums2.size();
int result[len1 + len2];
double r;
if ( len1 + len2 == 0)
r = 0.0;
else{
//循环两个有序数组,进行排序,给第三个数组
int count1 = 0, count2 = 0, count = 0;
//用&&不用考虑越界情况
while ( count1 < len1 && count2 < len2 ){
//如果nums1中的数较小,且nums1数组没有越界
if ( nums1[count1] < nums2[count2] ){
result[count] = nums1[count1]; //nums1中的数添加到结果数组
count1++; //并且nums1的计数器需要加1
}
else {
result[count] = nums2[count2]; //nums2中的数添加到结果数组
count2++; //并且nums2的计数器需要加1
}
count++;
}
//如果nums1还有剩余
if ( count1 < len1 ){
for (int i = count1; i < len1; i++){
result[count] = nums1[i];
count++;
}
}
else if ( count2 < len2 ){
for (int i = count2; i < len2; i++){
result[count] = nums2[i];
count++;
}
}
//得到结果数组,计算中位数
//如果有偶数个数
if ( ( len1 + len2 ) % 2 == 0 )
r = ( result[(len1 + len2 - 1 ) / 2] + result[(len1 + len2 - 1 ) / 2 + 1] ) / 2.0;
else
r = result[ (len1 + len2 - 1 ) / 2 ] / 1.0;
}
return r;
}
};
letcode 4:Median of Two Sorted Arrays
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- There are two sorted arrays nums1 and nums2 of size m and...
- 在两个有序数组中寻找中位数,思想时归并排序的思想,将两个数组归并排序到一个数组中,提前算出中位数的个数减少循环次数
- 参考:https://hk029.gitbooks.io/leetbook/content/%E5%88%86%E...
- There are two sorted arrays nums1 and nums2 of size m...
- Question Description My Code Test Result Solution Put num...