1. 程式人生 > >leetcode演算法題—golang—兩個排序陣列的中位數(題4)

leetcode演算法題—golang—兩個排序陣列的中位數(題4)

題目:兩個排序陣列的中位數

給定兩個大小為 m 和 n 的有序陣列 nums1 和 nums2 

請找出這兩個有序陣列的中位數。要求演算法的時間複雜度為 O(log (m+n)) 。

你可以假設 nums1 和 nums2 不同時為空。

示例 1:

nums1 = [1, 3]
nums2 = [2]

中位數是 2.0

示例 2:

nums1 = [1, 2]
nums2 = [3, 4]

中位數是 (2 + 3)/2 = 2.5
func findMedianSortedArrays(nums1 []int, nums2 []int) float64 {

	nums1 = append(nums1,nums2...)
	sort.Ints(nums1)
	nums1Len := len(nums1)
	var c float64
	if nums1Len %2 ==0{
		temp := nums1Len/2
		c = float64(nums1[temp-1]+nums1[temp])/2
		return c
	}
	//說明為奇數 123和1
	temp := nums1Len/2
	c = float64(nums1[temp])
	return c
}