• 寻找两个有序数组的中位数


    package main
    
    import "fmt"
    
    func findMedianSortedArrays(nums1 []int, nums2 []int) float64 {
    	//1.合并两个切片
    	//2.如果是奇数个,中间数就为的索引sum/2
    	//3.如果是偶数个,中间数就位的索引(sum/2 + sum/2+1)/2
    
    	nums1 = append(nums1, nums2...)
    	fmt.Println("排序前", nums1)
    	//冒泡排序
    	for j := 0; j < len(nums1)-1; j++ {
    		for i := 0; i < len(nums1)-1-i; i++ {
    			if nums1[i] > nums1[i+1] {
    				nums1[i+1], nums1[i] = nums1[i], nums1[i+1]
    			}
    
    		}
    	}
    	fmt.Println("排序后", nums1)
    	var middle float64
    	if len(nums1)%2 == 0 {
    		middle1 := nums1[len(nums1)/2-2]
    		middle2 := nums1[len(nums1)/2-1]
    		middle = float64((nums1[middle1] + nums1[middle2])) / 2
    
    	} else { //奇数个
    		index := len(nums1) / 2
    		middle = float64(nums1[index])
    
    	}
    	return middle
    
    }
    
    func main() {
    
    	//寻找两个有序数组的中位数
    	//nums1 = [1, 3]
    	//nums2 = [2]
    	//则中位数是 2.0
    
    	//nums1 = [1, 2]
    	//nums2 = [3, 4]
    	//则中位数是 (2 + 3)/2 = 2.5
    
    	num1 := []int{1, 3}
    	num2 := []int{2, 4, 5}
    	res := findMedianSortedArrays(num1, num2)
    	fmt.Println(res)
    }
    

      

  • 相关阅读:
    MongoDB
    Mac下将Python2.7改为Python3
    Kafka
    Server 基础概念 备忘
    应用内支付
    Sign in with apple
    Linux三剑客grep/sed/awk
    React-Native中使用到的一些JS特性
    Date Picker控件:
    Picker View控件:
  • 原文地址:https://www.cnblogs.com/yzg-14/p/12317212.html
Copyright © 2020-2023  润新知