日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

leetcode_median of two sorted arrays

發(fā)布時間:2025/3/15 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 leetcode_median of two sorted arrays 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

題目:

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)).

Example 1:
nums1 = [1, 3]
nums2 = [2]
The median is 2.0


Example 2:
nums1 = [1, 2]
nums2 = [3, 4]
The median is (2 + 3)/2 = 2.5

我的答案:

double findMedianSortedArrays(vector<int>& nums1, vector<int>& nums2) {int m = nums1.size();int n = nums2.size();if (m == 0){if (n == 0)return 0.0;elsereturn n % 2 == 0 ? double(nums2[n / 2] + nums2[n / 2 - 1]) / 2.0 : double(nums2[n / 2]);}else{if (n == 0)return m % 2 == 0 ? double(nums1[m / 2] + nums1[m / 2 - 1]) / 2.0 : double(nums1[m / 2]);}int N = m + n;int flag;if (N % 2 == 0)flag = 0;elseflag = 1;int mid = N / 2;int a1, a2 = 0;int i = 0, j = 0, count = 0;if (nums1[0] <= nums2[0]){a1 = nums1[0];i++;}else{a1 = nums2[0];j++;}while ((i<m) && (j<n)){if (count == mid){if (flag == 0)return double(a1 + a2) / 2.0;elsereturn double(a1);}a2 = a1;if (nums1[i] <= nums2[j]){a1 = nums1[i];i++;}else{a1 = nums2[j];j++;}count++;}while (i < m){if (count == mid){if (flag == 0)return double(a1 + a2) / 2.0;elsereturn double(a1);}a2 = a1;a1 = nums1[i];i++;count++;}while (j < n){if (count == mid){if (flag == 0)return double(a1 + a2) / 2.0;elsereturn double(a1);}a2 = a1;a1 = nums2[j];j++;count++;}if (flag == 0)return double(a1 + a2) / 2.0;elsereturn double(a1); }思路解析:

? ? ? 首先先不考慮一些比較特殊的情況,考慮兩個已排序的數(shù)組長度都是大于0的,這個題目的目標(biāo)就是要找到兩個已經(jīng)排序的數(shù)組在放在一塊排序之后最中間的一個或者兩個數(shù)的平均值(如果總長度是奇數(shù),就是中間的那個值,如果總長度是偶數(shù),就是中間兩個值的平均值),我們不需要對兩個數(shù)組重新排序,只需要不斷比較這兩個數(shù)組中的值進(jìn)行排序,并記錄比較的次數(shù),拿兩個變量a1,a2記錄本次與上次比較的結(jié)果,當(dāng)比較次數(shù)達(dá)到總長度的一半的時候,那兩個變量拿兩個變量a1,a2記錄的值就是我們找到的總序列的中間值,再判讀整個序列長度是奇數(shù)或者偶數(shù),以此來計算中間值median。這里的特殊情況就是兩個數(shù)組中有一個是空數(shù)組或者兩個都是空數(shù)組等情況,只要單獨(dú)處理即可。

總結(jié)

以上是生活随笔為你收集整理的leetcode_median of two sorted arrays的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩一页 | 成人图片小说 | 亚洲一区在线观 | 影音先锋欧美在线 | 国产精品第四页 | 狠狠干精品 | 肥臀熟女一区二区三区 | 亚洲午夜福利一区二区三区 | 六月婷婷av| 国产精品福利在线 | 大桥未久视频在线观看 | 国产精品视频一二三 | 日本高清有码视频 | 91在线日韩| 中文字幕超清在线免费观看 | 成人综合激情网 | 人成在线观看 | 中文字幕一区二区三区精华液 | 中文字幕在线看 | 免费av网站在线观看 | 欧美日韩在线观看一区二区 | 免费亚洲精品 | 草草影院最新网址 | 国产高清视频在线观看 | 亚洲拍拍视频 | 亚洲乱码国产乱码精品精的特点 | 夜夜操夜夜骑 | 欧美污视频在线观看 | 欧美视频一区二区三区在线观看 | 亚洲一区二区三区在线看 | 一区不卡av | 免费三级网 | 色视频免费 | 天天爽夜夜春 | 一二三区免费 | 精品一区视频 | 国产一区视频在线观看免费 | 干爹你真棒插曲mv在线观看 | 亚洲成人一区二区三区 | 又黄又爽的免费视频 | 国产社区在线 | 久久国产精品99久久人人澡 | 久久一区二区三区四区五区 | 国产午夜三级一区二区三 | 日本理论片午伦夜理片在线观看 | 国产高清在线视频观看 | 欧美色欧美色 | 少妇无码一区二区三区 | 西野翔夫の目の前で犯在线 | 奇米影视在线视频 | 亚洲精品6 | a视频免费 | 免费欧美黄色片 | 亚洲无线观看 | 中文字幕av一区二区三区 | 色多多视频在线观看 | 91精品国产综合久久久蜜臀粉嫩 | 蜜臀久久99精品久久一区二区 | 99精彩视频 | 免费成人在线网站 | 国产麻豆交换夫妇 | 黄色录像网址 | 美女扒开下面让男人捅 | 中文字幕人妻伦伦 | 免费的黄色片 | 毛片资源 | 久久偷看各类女兵18女厕嘘嘘 | 深爱五月激情五月 | 国产乱妇4p交换乱免费视频 | 亚洲s码欧洲m码国产av | 特级黄色网 | 国产伦精品一区二区三区四区视频 | 亚洲精品欧洲 | 天天看片天天干 | 久草视频首页 | 蜜臀久久精品久久久用户群体 | 潮喷失禁大喷水aⅴ无码 | 精品国产一二三 | 在线观看波多野结衣 | 欧美人与性动交α欧美精品 | av拍拍拍| 欧美一级黄色片在线观看 | 国产美女精品一区二区三区 | 精品成人一区二区三区 | 久久99久久99精品免观看粉嫩 | av直播在线观看 | 欧美日韩中| 99热在线观看免费 | 国产黑丝精品 | 涩涩视频免费观看 | 国产高清一二三区 | 91麻豆精品一二三区在线 | 一级久久久久久久 | 欧美激情小视频 | 中文在线字幕免费观 | 久久亚洲精品无码va白人极品 | 日韩乱码一区二区 | 国产www免费观看 | 欧美黄色小视频 |