Median of Two Sorted Arrays(沒完成別看)
2015-06-10 17:05
246 查看
here are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)).
作为一个算法新人,用最笨的方法写了个解决办法,居然过了,不得不佩服自己的毅力了.思路就是归并一下数组,新数组长度为M+N/2就够了.代码如下:`
(不推荐大家看我就不解释了~,下面再参考别人代码写下)
作为一个算法新人,用最笨的方法写了个解决办法,居然过了,不得不佩服自己的毅力了.思路就是归并一下数组,新数组长度为M+N/2就够了.代码如下:`
(不推荐大家看我就不解释了~,下面再参考别人代码写下)
double findMedianSortedArrays(int* nums1, int nums1Size, int* nums2, int nums2Size) { int num[nums1Size+nums2Size]; int i , j ; double tar; int k , sum ,mark =0; int over = 0; sum =nums1Size+nums2Size; if(sum%2!=0) { k = sum/2; mark = 1; } else k =sum/2; i = j = 0; int n ; if(nums1Size ==0) { if(mark==1) {tar = nums2[k]; return(tar); } else{ tar=nums2[k]+nums2[k-1]; return(tar/2); } } if(nums2Size==0) { if(mark==1) {tar = nums1[k]; return(tar); } else{ tar=nums1[k]+nums1[k-1]; return(tar/2); } } for( n = 0 ; n<=k; n++) { if(nums1[i]>nums2[j]) {// printf("num =nums2 :%d\n",nums2[j]); num =nums2[j]; if(j <nums2Size) j++; else{ over=2; break;} } else {// printf("num = nums1:%d\n",nums1[i]); num =nums1[i]; if( i <nums1Size) i++; else { over=1; break; } } } // printf("nums1 i = %d , nums2 j =%d , n = %d , k =%d ,mark =%d ,over = %d\n",i,j,n,k,mark,over); // printf("num[0]=%d %d %d",num[0],num[1],num[2]); if( n>k) { if(mark ==1) {tar = num[k]; return(tar); } else { tar=num[k]+num[k-1]; return(tar/2); } } if( over == 1) { for( ; n<=k ; n++) num =nums2[j++]; if(mark==1) tar=num[k]; else tar =(double) (num[k]+num[k-1])/2 ; return(tar); } for( ; n<=k ; n++) num =nums1[i++]; if(mark==1) tar=num[k]; else tar = (double)(num[k]+num[k-1])/2; return(tar); }
相关文章推荐
- Socket通信
- 为什么Android的图片质量会比iPhone的差?
- 什么是全栈开发者
- HttpModule与HttpHandler详解
- 数据库索引的作用和优势缺点
- YSLOW
- POJ 2141
- POJ 2140
- SQLServer学习笔记系列1
- Server2008 创建多个备份计划
- 创建类和对象
- 可编辑下拉框
- UVA11991:Easy Problem from Rujia Liu?(STL构建变长二维数组)
- web集群时session同步的3种方法
- POJ 2127
- POJ 2121
- POJ 2136
- Android 属性动画(Property Animation) 完全解析 (下)
- SWT Designer在Eclipse中的安装 以及注册
- Windows8的各种版本介绍