寻找两个正序数组的中位数

1.题目描述在这里插入图片描述

2.解题思路

在这里插入图片描述
代替指针利用pop方法来吧数据弹出数组,减少了指针i,j的边界条件的判断,更加通俗易懂。

3.代码实现

/**
 * @param {number[]} nums1
 * @param {number[]} nums2
 * @return {number}
 */
var findMedianSortedArrays = function(nums1, nums2) {
   let pre, cur
   let length = nums2.length + nums1.length
   let i = 0 
   while( i++ < parseInt(length / 2) + 1) {
       pre = cur
       if (nums1.length !== 0 && nums2.length !== 0) {
           cur = nums1[nums1.length -1 ] > nums2[nums2.length - 1] ? nums1.pop() : nums2.pop()
       } else if (nums2.length ===0 ) {
           cur = nums1.pop()
       } else {
           cur = nums2.pop()
       }
   }
   let res = cur
   if (length % 2 === 0) {
       res = (cur + pre) / 2
   }
   return res
};
posted @ 2020-09-03 09:29  jacksonni  阅读(127)  评论(0编辑  收藏  举报