offer30--最小的k个数
来源:互联网 发布:dnf安图恩数据异常 编辑:程序博客网 时间:2024/06/07 18:15
# coding=utf-8# O(nlogk)的算法, 适合海量数据# 利用一个k容量的容器存放数组, 构造最大堆, 当下一个数据大于最大数, 跳过,# 小于最大数, 则进入容器替换之前的最大数from offer import build, adjustdef getk(data, k): if data is None or len(data) < k or k < 0: return [] result = data[0:k] build(result, k) for item in data[k:]: if item < result[0]: result[0] = item adjust(result, 0, k) pass pass return result passdef main(): data = [4, 5, 1, 6, 7, 2, 8] print getk(data, 3) passif __name__ == '__main__': main() pass
阅读全文
0 0
- offer30--最小的k个数
- 剑指Offer30最小的k个数
- 剑指offer30:最小的k个数
- 寻找最小(或最大)的k个数(剑指offer30)
- 【面试题】剑指offer30--最小的k个数
- 最小的K个数
- 最小的K个数
- 最小的K个数
- 最小的k个数
- 最小的k个数
- 最小的k个数
- 最小的k个数
- 最小的k个数
- 最小的k个数
- 最小的K个数
- 最小的k个数
- 最小的K个数
- 最小的K个数
- 0002_程序员戒手淫之论手淫对人生运势的不良影响
- 无题
- hdu 5781(期望dp)
- 结合redis设计与实现的redis源码学习-2-SDS(简单动态字符串)
- Android开发艺术探索学习笔记2——IPC机制
- offer30--最小的k个数
- C++知识点小结
- 一个链表的每个节点,有一个指向next指针指向下一个节点,还有一个rand指针指向这个链表中的一个随机节点或NULL,现在要求复制一个单链表来实现这个链表,返回复制后的新链表。
- 欢迎使用CSDN-markdown编辑器
- 树莓派开机启动python脚本的另一种方法【转】
- 寒假学习之stm32(13)----ADC(模数转换)
- 8. String to Integer (atoi)
- 如何用TensorFlow训练和识别/分类自定义图片
- 设计模式之观察者模式