操操操

寻找两个正序数组的中位数golang版本

2023-08-20
1分钟阅读时长

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

func findMedianSortedArray(nums1 []int,nums2 []int) float64{
	m,n := len(nums1),len(nums2)
	i,j,k := 0,0,0
	cur,pre := 0,0
	mid := (m+n) / 2
	for k <= mid{
		pre = cur
		if i <= m - 1 && j <= n - 1{
			if nums1[i] < nums2[j]{
				cur = nums1[i]
				i++
			}else{
				cur = nums2[j]
				j++
			}

		}else if i <= m - 1{
			cur = nums1[i]
			i++
		}else{
			cur = nums2[j]
			j++
		}
	}
	if (m+n) % 2 == 1{
		return float64(cur)
	}
	return float64(cur+pre) / 2
}
Avatar

Aisen

Be water,my friend.