首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这是一个min-heap吗?

这是一个min-heap吗?
EN

Stack Overflow用户
提问于 2017-07-05 22:36:17
回答 1查看 50关注 0票数 0

我想在一个列表中找到所有的和为n的数字对。

如果我构建一棵树,其属性是每个节点的子节点都是大于其自身的所有值,那么我将能够遍历该树以找到所有求和为n的组合

例如:for list [1,2,3,4]

代码语言:javascript
复制
                   1

      2            3           4

   3     4         4           

4               

这是一种什么样的数据结构?

它是不是一个最小堆,对每个节点的子节点数和允许的重复数没有限制?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-05 22:57:01

你的目标号码是N。您可以保留一个哈希表,其中包含您到目前为止遇到的数字,当您遇到新的数字X时,您可以测试您的哈希表中是否遇到过N-X

伪码:

代码语言:javascript
复制
var encountered <- hashTable(key: integer, value: any)
var recordList <- list(value: pairs of integers)
for each element in inputList
  if encountered(N-element) then push [element, N-element] into recordList 
  push element into encountered
loop
return recordList
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44929231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档