2021-10-14力扣寻找两个正序数组的中位数JS

第一步:先把题目给出的两个数组,变成一个数组,方法如下,使用push()方法;

 for(let i =0;i<nums2.length;i++){

            nums1.push(nums2[i]);

        }

第二步因为此时的数组顺序是乱的我们处理一下 使用你们熟悉的排序方法

 for(let i =0;i<nums1.length;i++){
            for(let j=0;j<nums1.length-1;j++){
                if(nums1[j]>nums1[j+1]){
                    let temp = nums1[j];
                    nums1[j] = nums1[j+1];
                    nums1[j+1] = temp;
                }
            }
        }

第三步就是我们判断一下合并后的数组长度是否为单数如果不是执行的就是以下代码

注意数组的索引是从0开始的

let target = nums1.length;//获取数组的长度   

if(target%2!=0){
            let ans = target/2;
            ans = Math.ceil(ans);
           return nums1[ans-1]
        }

如果不是则执行以下的代码

 else{

            let anser1 = target/2;

            let anser2 = anser1-1;

            let anser = nums1[anser1] + nums1[anser2];

            anser  = anser/2;

            return anser;

        }

完整代码如下:

var findMedianSortedArrays = function(nums1, nums2) {
        for(let i =0;i<nums2.length;i++){
            nums1.push(nums2[i]);
        }
        // console.log(nums1);
        for(let i =0;i<nums1.length;i++){
            for(let j=0;j<nums1.length-1;j++){
                if(nums1[j]>nums1[j+1]){
                    let temp = nums1[j];
                    nums1[j] = nums1[j+1];
                    nums1[j+1] = temp;
                }
            }
        }
        let target = nums1.length;//获取数组的长度 
        // console.log(target);
        // console.log(nums1);
        if(target%2!=0){
            let ans = target/2;
            ans = Math.ceil(ans);
           return nums1[ans-1]
        }
        else{
            let anser1 = target/2;
            let anser2 = anser1-1;
            let anser = nums1[anser1] + nums1[anser2];
            anser  = anser/2;
            return anser;
        }
       
};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值