Lintcode80Mediansolution题解
来源:互联网 发布:sai手绘软件下载 编辑:程序博客网 时间:2024/06/07 04:39
【题目描述】
Given a unsorted array with integers, find the median of it.
A median is the middle number of the array after it is sorted.
If there are even numbers in the array, return theN/2-th number after sorted.
给定一个未排序的整数数组,找到其中位数。
中位数是排序后数组的中间值,如果数组的个数是偶数个,则返回排序后数组的第N/2个数。
【题目链接】
www.lintcode.com/en/problem/median/
【题目解析】
由于这里仅需要找出中位数,即找出数组中前半个长度的较大的数,不需要进行完整的排序,所以可以考虑用快速排序法。快排的核心思想就是以基准为界将原数组划分为左小右大两个部分,用在这十分合适。由于调用一次快排后基准元素的最终位置是知道的,故递归的终止条件即为当基准元素的位置(索引)满足中位数的条件时(左半部分长度为原数组长度一半)即返回最终结果。由于函数原型中左右最小索引并不总是原数组的最小最大,故需要引入相对位置(长度)也作为其中之一的参数。若左半部分长度偏大,则下一次递归排除右半部分,反之则排除左半部分。
【参考答案】
www.jiuzhang.com/solutions/median/
阅读全文
0 0
- Lintcode80Mediansolution题解
- 题解
- 题解
- 题解
- 题解
- 题解
- 题解
- 题解
- 题解
- 题解
- 题解
- 题解
- 题解~~~~
- 题解。。。。
- 题解
- 题解
- 1002 题解
- pku1001题解
- 结构体初始化
- C# 浏览器外部启动和开机自启的有时出错的问题
- makefile = := ?= +=的作用
- Count Primes
- vs下编译不出错但是有小红线
- Lintcode80Mediansolution题解
- Re-install Flyme or Native Google Android on Meizu MX4 Ubuntu (by quqi99)
- cocos2d-x-lua:API-Toggle菜单
- 文件上传至服务器(java+[easyUi+common])
- 分享一些JavaScript中不足之处
- 微信小程序后台解密用户数据
- 909422229_Nginx反向代理配置
- Android中使用触摸事件实现Selsetor按下时改变按钮背景
- hadoop常见错误及处理方法