zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    this
    git使用整个过程整理
    javaScript事件知识点
    charles-web端开发者实用功能点
    react native 添加第三方插件react-native-orientation(横竖屏设置功能 android)
    react native 运行项目下载gradle慢的解决办法
    移动端 滑动组件 slip
    高逼格 分页列表 bootstrap-table
    reactjs 接入数据模型以及markdown语法的支持
    react-native 环境搭建以及项目创建打包
  • 原文地址:https://www.cnblogs.com/52why/p/14502460.html
Copyright © 2011-2022 走看看