• leetcode 4. 寻找两个正序数组的中位数


    给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。

    示例 1:

    输入:nums1 = [1,3], nums2 = [2]
    输出:2.00000
    解释:合并数组 = [1,2,3] ,中位数 2
    示例 2:

    输入:nums1 = [1,2], nums2 = [3,4]
    输出:2.50000
    解释:合并数组 = [1,2,3,4] ,中位数 (2 + 3) / 2 = 2.5
    示例 3:

    输入:nums1 = [0,0], nums2 = [0,0]
    输出:0.00000
    示例 4:

    输入:nums1 = [], nums2 = [1]
    输出:1.00000
    示例 5:

    输入:nums1 = [2], nums2 = []
    输出:2.00000

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/median-of-two-sorted-arrays
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    思路:

    从两个数组的第一个开始找,找出中间的两个数字即可

    题解:

    class Solution(object):
        def findMedianSortedArrays(self, nums1, nums2):
            """
            :type nums1: List[int]
            :type nums2: List[int]
            :rtype: float
            """
            m,n = len(nums1),len(nums2)
            r = int((m+n)/2)
            d = k = i = j = ans = 0
            while(i<m and j<n and ans <= r):
                if (nums1[i] < nums2[j]):
                    d,k = k,nums1[i]
                    i += 1
                else:
                    d,k = k,nums2[j]
                    j += 1
                ans += 1
                print(d,k,i,j,ans)
            while(i<m and ans <= r):
                d, k = k, nums1[i]
                i += 1
                ans += 1
                print(d, k, i, j, ans)
            while (j < n and ans <= r):
                d, k = k, nums2[j]
                j += 1
                ans += 1
                print(d, k, i, j, ans)
            # print(d,k)
            if (m+n)%2:
                return k
            return (d+k)/2
            # return k if (m+n)%2 else (d+k)/2
            # return d,k
    print(Solution.findMedianSortedArrays(Solution,[3,4],[1,2]))
    
    
                    
    作者:红雨
    出处:https://www.cnblogs.com/52why
    微信公众号: 红雨python
  • 相关阅读:
    Myeclipse修改jdk版本流程
    web框架的前生 socket写网站
    jmeter APP接口压力测试
    BeanShell实现加密解密功能
    jmeter BeanShell的几种使用方式
    jmeter多个接口测试
    jenkins添加TPS与服务器监控变化曲线图
    Jenkins的HTML报告增加显示Throughput展示
    Jmeter 分布式部署-远程服务器的搭建与设置
    Jenkins+Jmeter配置(Linux环境)
  • 原文地址:https://www.cnblogs.com/52why/p/14502460.html
Copyright © 2020-2023  润新知