微软笔试题.找到数组第K大的数
[解决办法]
使用快速排序的思想,将数组分成2份。选出一个数a,小于a值假设为num1个,大于a值为num2个。如果小于a值num1的数目小于k,第k大的数在大于a值得这一边,再在大于a值的这堆num2个数中找第k-num1大的数即可。以此类推。
发布时间: 2013-10-27 15:21:50 作者: rapoo
微软笔试题.找到数组第K大的数
[解决办法]
使用快速排序的思想,将数组分成2份。选出一个数a,小于a值假设为num1个,大于a值为num2个。如果小于a值num1的数目小于k,第k大的数在大于a值得这一边,再在大于a值的这堆num2个数中找第k-num1大的数即可。以此类推。