ホームページ >ウェブフロントエンド >jsチュートリアル >2 つのソートされた配列の中央値
サイズがそれぞれ m および n の 2 つのソートされた配列 nums1 および nums2 が与えられた場合、2 つのソートされた配列の中央値を返します。
全体的な実行時間の複雑さは O(log (m n)) である必要があります
Example 1: Input: nums1 = [1,3], nums2 = [2] Output: 2.00000 Explanation: merged array = [1,2,3] and median is 2. Example 2: Input: nums1 = [1,2], nums2 = [3,4] Output: 2.50000 Explanation: merged array = [1,2,3,4] and median is (2 + 3) / 2 = 2.5.
制約:
nums1.length == m
nums2.length == n
0
0
1
-106
var findMedianSortedArrays = function(nums1, nums2) { const toltalLength = nums1.length + nums2.length;let x = 0; let y = 0; const mergedArr = [] for(let i=0; i< toltalLength;i++){ if(x> nums1.length -1){ nums2.splice(0, y) mergedArr.push(...nums2) break; } if(y> nums2.length -1){ nums1.splice(0, x) mergedArr.push(...nums1) break; } if(nums1[x] > nums2[y]){ mergedArr.push(nums2[y]); y++; continue; }else{ mergedArr.push(nums1[x]); x++; continue; } } if(toltalLength % 2 === 0){ return (mergedArr[toltalLength/2] + mergedArr[toltalLength/2 -1]) /2 }else{ return mergedArr[(toltalLength-1)/2] } };
以上が2 つのソートされた配列の中央値の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。