输入n个有序的数据并存入某一维数组中,求该数组的中位数
时间: 2023-11-27 10:54:21 浏览: 84
求N位个数的数则的中位数
5星 · 资源好评率100%
中位数是指将一组数据按照从小到大的顺序排列,位于中间位置的数。如果数据个数为偶数,则中位数为中间两个数的平均数。
对于一个有序数组,可以直接根据数组长度的奇偶性来判断中位数的位置。
如果数组长度为奇数,中位数的位置为 (n+1)/2,直接返回该位置上的数即可。
如果数组长度为偶数,中位数的位置为 n/2 和 n/2+1,将这两个位置上的数相加再除以2即可得到中位数。
以下是一个示例代码:
```python
def find_median(nums):
n = len(nums)
if n % 2 == 1:
return nums[n//2]
else:
return (nums[n//2-1] + nums[n//2]) / 2
# 示例
arr = [1, 2, 3, 4, 5]
print(find_median(arr)) # 输出 3
arr = [1, 2, 3, 4, 5, 6]
print(find_median(arr)) # 输出 3.5
```
阅读全文