NOTE
寻找两个正序数组的中位数
寻找两个正序数组的中位数 的 LeetCode 解题笔记。
这是历史学习笔记,可能存在过时或不完整的理解。
1. 题目描述
给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。
2. 思路
- 思路一
- 先排序,然后取中间值
3. 实现
3.1. 排序
func findMedianSortedArrays(nums1 []int, nums2 []int) float64 {
nums := make([]int, len(nums1)+len(nums2))
i := 0
j := 0
k := 0
for i < len(nums1) && j < len(nums2) {
if nums1[i] < nums2[j] {
nums[k] = nums1[i]
i++
} else {
nums[k] = nums2[j]
j++
}
k++
}
for i < len(nums1) {
nums[k] = nums1[i]
k++
i++
}
for j < len(nums2) {
nums[k] = nums2[j]
k++
j++
}
if len(nums) %2 != 0 {
return float64(nums[len(nums)/2])
}else {
return float64(nums[len(nums)/2-1] + nums[len(nums)/2]) / 2.0
}
}
讨论
使用 GitHub 账号参与讨论,评论会保存在 GitHub Issues 中。在 GitHub 查看