Python中文
首页
教程
问答
标签
搜索
登录
注册
python heapq merge的内部工作。它如何在不生成列表的情况下对列表进行排序
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>即使不生成列表,<code>heapq.merge()</code>如何对列表进行排序</p> <p>不知道我说的是否清楚。<br/> 所以,这是从 <a href="https://leetcode.com/problems/super-ugly-number/" rel="nofollow noreferrer">Super Ugly Number problem at leetcode</a></p> <p>这是python代码</p> <pre class="lang-py prettyprint-override"><code>class Solution(object): def nthSuperUglyNumber(self, n, primes): """ :type n: int :type primes: List[int] :rtype: int """ uglies = [1] def gen(prime): for ugly in uglies: yield ugly * prime merged = heapq.merge(*map(gen, primes)) while len(uglies) < n: ugly = next(merged) if ugly != uglies[-1]: uglies.append(ugly) return uglies[-1] </code></pre> <p>这让我很难理解。在我搜索了“收益率”和“heapq”的概念之后,我仍然没有在<code>while</code>循环中得到它,如何<code>merged</code>知道<code>ugly in uglies>n</code>不会小于<code>uglies[n-1]</code></p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>它需要n<em>已排序的</em>项。然后,它可以查看其中每一个中的最小值并使用该值。最小的一个总是第一个项目,然后是第二个项目,然后是第三个项目,因为它们都已排序</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
我想从用户inpu创建一个类的实例
9 回答
我想从用户导入值,为此
1 回答
我想从用户那里得到一个整数输入,然后让for循环遍历该数字,然后调用一个函数多次
3 回答
我想从用户那里收到一个列表,并在其中执行一些步骤,然后在步骤完成后将其打印回来,但它没有按照我想要的方式工作
8 回答
我想从用户那里获取输入,并将值传递给(average=dict[x]/6),然后在那里获取resu
3 回答
我想从第一个列表中展示第一个词,然后从第二个列表中展示十个词,以此类推- Python
1 回答
我想从第一个空lin开始解析文本文件
8 回答
我想从简历、简历中提取特定部分
8 回答
我想从给定字典(python)的字符串中删除\u00a9、\u201d和类似的字符。
7 回答
我想从给定的网站Lin下载许多文件扩展名相同的Wget或Python文件
10 回答
我想从网上搜集一些关于抵押贷款的数据
2 回答
我想从网站上删除电子邮件地址
10 回答
我想从网站上读取数据该网站包含可下载的文件,然后我想用python脚本把它发送给oracle如何?
5 回答
我想从网站中提取数据,然后将其显示在我的网页上
5 回答
我想从网页上提取统计数据。
2 回答
我想从网页上解析首都城市,并在用户输入国家时在终端上打印它们
2 回答
我想从色彩图中删除前n个颜色,而不丢失原始颜色数
3 回答
我想从课堂上打印字典里的键
9 回答
我想从费用表中获取学生上次支付的费用,其中学生id=id
5 回答
我想从较低的顺序对多重列表进行排序,但我无法在一行中生成结果
3 回答