class Solution:
def findMedianSortedArrays(self, nums1: List[int], nums2: List[int]) -> float:
nums1_len = len(nums1)
nums2_len = len(nums2)
def find(nums1,nums2,k):
# time.sleep(1)
if not nums1:
return nums2[k-1]
if not nums2:
return nums1[k-1]
if k == 1:
if nums1 and nums2:
return min(nums1[0],nums2[0])
if nums1:
return nums1[0]
if nums2:
return nums2[0]
nums1_len = len(nums1)
nums2_len = len(nums2)
index = k//2
if index <= nums1_len and index <= nums2_len:
if nums1[index-1]<nums2[index-1]:
return find(nums1[index:],nums2,k-index)
elif nums1[index-1]>=nums2[index-1]:
return find(nums1,nums2[index:],k-index)
else:
if index>nums1_len:
index1 = nums1_len
index2 = k - nums1_len
else:
index2 = nums2_len
index1 = k - nums2_len
if nums1[index1-1]<nums2[index2-1]:
return find(nums1[index1:],nums2,k-index1)
elif nums1[index1-1]>=nums2[index2-1]:
return find(nums1,nums2[index2:],k-index2)
if (nums1_len+nums2_len)%2 == 0:
left = find(nums1,nums2,(nums1_len+nums2_len)//2)
right = find(nums1,nums2,(nums1_len+nums2_len)//2+1)
return ((left+right)/2)
else:
return (find(nums1,nums2,(nums1_len+nums2_len)//2+1))
[Python手撕]兩個升序陣列的中位數
相關文章
- 兩個有序陣列的中位數陣列
- 尋找兩個有序陣列的中位數陣列
- 4. 兩個排序陣列的中位數排序陣列
- 尋找兩個正序陣列中的中位數陣列
- 演算法-兩個排序陣列的中位數演算法排序陣列
- LeetCode-兩個排序陣列的中位數LeetCode排序陣列
- [Python手撕]最大子陣列和Python陣列
- 4. 尋找兩個正序陣列的中位數陣列
- LeetCode 4. 兩個排序陣列的中位數LeetCode排序陣列
- LeetCode-4. 兩個排序陣列的中位數LeetCode排序陣列
- [Python手撕]有序陣列中的單一元素Python陣列
- LeetCode--尋找兩個有序陣列的中位數(05)LeetCode陣列
- python實現給定一個數和陣列,求陣列中兩數之和為給定的數Python陣列
- LeetCode第4題:尋找兩個有序陣列的中位數LeetCode陣列
- [LeetCode] Median of Two Sorted Arrays 兩個有序陣列的中位數LeetCode陣列
- 尋找兩個正序陣列的中位數問題,方法一:合併陣列檢索法陣列
- 力扣演算法題:尋找兩個正序陣列的中位數力扣演算法陣列
- 【演算法】輸入一個已經按升序排過的陣列和數字,在陣列中查詢兩個數字,使得它們的和正好是輸入那個數字。演算法陣列
- [LeetCode 刷題] 4. 尋找兩個有序陣列的中位數 (Hard)LeetCode陣列
- GO實現:leetcode之尋找兩個正序陣列的中位數GoLeetCode陣列
- 每天一道演算法題:求兩個排序陣列的中位數演算法排序陣列
- 求陣列中是否存在滿足特定和的兩個數字(python & Js)陣列PythonJS
- 找到兩個陣列中的公共元素陣列
- LeetCode解題(C++)-4. 尋找兩個有序陣列的中位數LeetCodeC++陣列
- 【遞迴打卡1】在兩個長度相等的排序陣列中找到上中位數遞迴排序陣列
- 從0打卡leetcode之day 5 ---兩個排序陣列的中位數LeetCode排序陣列
- 【LeetCode Hot 100】4. 尋找兩個正序陣列的中位數LeetCode陣列
- 349.兩個陣列的交集|python陣列Python
- Js陣列物件的屬性值升序排序,並指定陣列中的某個物件移動到陣列的最前面JS陣列物件排序
- 在陣列中尋找和為指定值的兩個數陣列
- 陣列手撕堆,你學會了嗎?陣列
- [Python手撕]完全平方數Python
- JavaScript陣列升序和降序排列JavaScript陣列
- 給定陣列中找到最大的兩個數陣列
- 陣列中每個陣列元素出現的次數陣列
- 劍指OFFER-數字在升序陣列中出現的次數(Java)陣列Java
- [Python手撕]搜尋二維矩陣Python矩陣
- (BST)升序陣列變為BST樹陣列