golang 中位数

package main

import (
    "fmt"
)

func findMedianSortedArrays(nums1 []int, nums2 []int) float64 {
    l1 := len(nums1)
    l2 := len(nums2)
    var l3 []int = make([]int, l1+l2)

    // 中位数
    i := 0
    j := 0
    idx := 0
    for {
        if i >= l1 && j >= l2 {
            break
        }
        if i < l1 && j < l2 {
            if nums1[i] <= nums2[j] {
                l3[idx] = nums1[i]
                i += 1
            } else {
                l3[idx] = nums2[j]
                j += 1
            }
        } else if i < l1 {
            l3[idx] = nums1[i]
            i += 1
        } else if j < l2 {
            l3[idx] = nums2[j]
            j += 1
        }
        idx += 1
    }

    l := len(l3)
    fmt.Println(l3)
    var a float64 = 0.0
    if l%2 == 0 {
        a = float64(l3[l/2]+l3[l/2-1]) / float64(2.0)
    } else {
        a = float64(l3[l/2])
    }
    return a
}

func main() {
    fmt.Println("Start")
    nums1 := []int{1, 2}
    nums2 := []int{3, 4}
    fmt.Println(findMedianSortedArrays(nums1, nums2))
}
 


版权声明:本文为pzqingchong原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。