1 问题描述
给定一个未排序的整数数组,找到其中位数。
中位数是排序后数组的中间值,如果数组的个数是偶数个,则返回排序后数组的第N/2个数。
2 解题思路
这个题思路很简单,就是先将数组排序,然后得到数组的长度,然后返回在一半长度的值即可,奇数偶数的处理方法不同。
3 解题代码
class Solution {
public:
/**
* @param nums: A list of integers.
* @return: An integer denotes the middle number of the array.
*/
int median(vector<int> &nums) {
// write your code here
sort(nums.begin(),nums.end());
int n=nums.size();
if(n%2==0)return nums[n/2-1];
else return nums[n/2];
}
};
4 解题感想
这个题容易,思路很容易得到。
本文介绍了一种求未排序整数数组中位数的简单算法。通过排序数组后选取中间值来确定中位数,对于数组长度为偶数的情况,返回的是中间两个数中的前一个。文章提供了C++实现代码。
344

被折叠的 条评论
为什么被折叠?



