LeetCode 4Median of Two Sorted Arrays
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 4Median of Two Sorted Arrays
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
There 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)).
題目很簡(jiǎn)單,比較兩數(shù)組當(dāng)前指針指向的值,選擇小的添加到新數(shù)組,找出中間值。注意各種情況都要考慮周全,否則很容易出現(xiàn)數(shù)組越界(就是這個(gè)原因磨蹭了好久)。
public class Solution {public double findMedianSortedArrays(int[] nums1, int[] nums2) {int m=nums1.length;int n=nums2.length;int a=(m+n)/2;int b=(m+n)%2;if(m==0){if(n==0)return 0.0;elseif(b==0)return ((double)nums2[a-1]+(double)nums2[a])/2;elsereturn (double)nums2[a];}if(n==0){if(b==0)return ((double)nums1[a-1]+(double)nums1[a])/2;elsereturn (double)nums1[a];}int j=0,k=0;int nums3[]=new int[a+1];for(int i=0;i<=a;i++){if(j>=m){nums3[i]=nums2[k];k++;}elseif(k>=n){nums3[i]=nums1[j];j++;}elseif(nums1[j]<=nums2[k]){nums3[i]=nums1[j];j++;}else{nums3[i]=nums2[k];k++;}}if(b==0){return ((double)nums3[a-1]+(double)nums3[a])/2;}else{return (double)nums3[a];}} }?
轉(zhuǎn)載于:https://www.cnblogs.com/gonewithgt/p/4570169.html
總結(jié)
以上是生活随笔為你收集整理的LeetCode 4Median of Two Sorted Arrays的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS 高效 Mac 配置
- 下一篇: 安卓手机的a/span的宽高失效