algorithm - 在 O(1) 时间内找到数组中的 k 个最大元素
问题描述
push()
通过使用辅助数据结构创建堆栈类来跟踪每个和中的 k 最大/最小,是否有可能具有 O(1) 时间复杂度来找到数组中的 k 个最大或最小数字pop()
。由于检索是 O(1),因此在 get 方法中返回 k 个元素
解决方案
是的,只有当您的数组按排序顺序时,才能通过 O(1) 复杂度找出第 K 个最大元素或最小元素。
推荐阅读
- html - 使用 knockoutjs 时 Chrome 中的 Maxlength 约束验证异常
- c++ - MFC:我们能否扩展 CEditView 中存在的 CEdit 控件类行为
- scala - 如何在 spark scala maven 项目中使用属性
- spring-boot - 具有 OpenIDConnect 身份验证的 JHipster
- soap - Vuejs 肥皂客户端
- swift - 在 Swift 中解析字符串 HTML 后格式不正确
- php - 如何在页面上查询 Woocommerce 订单
- python - python函数中的语法无效,用于根据另外两个条件创建新列
- reactjs - 如何在另一个组件中访问远程 redux 表单状态
- android - 房间数据库自定义功能