gpt4 book ai didi

arrays - "erase as few numbers as possible to make remaining in increasing order"的算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:54:43 24 4
gpt4 key购买 nike

<分区>

我正在阅读“Introduction to Algorithms: A Creative Approach”并在第 1 章中遇到了这个问题:

Problem 1.3: You have a list of numbers, erase as few numbers as possible to make remaining numbers in increasing order.

例如给定数组

9 44 32 12 7 42 34 92

两个可能的选项是 9 12 42 9232 42 92,前者删除的数字较少。

我尝试了一个递归算法但对它的性能不满意,因为它仍然需要测试太多的组合。我找到了一种启发式算法,可以快速得到好的结果,虽然我不确定它是否能保证最好的结果。我在网上搜索但没有找到关于这个问题的任何讨论。我相信应该有更好的算法。

我写了我的 2 个方法 here以备不时之需。

更新:我在询问这个问题的解决方案,@josilber 和@templatetypedef 给出了链接和正确的查看方向。事实证明,这是具有良好解决方案的一系列已知问题的特例。这里不用写详细的解法,Longest increasing subsequence, Patience sorting 的wiki页面提供了详细的信息。

值得注意的是,虽然答案中有一些链接,但这个问题并不是要资源或链接。真正的答案是“这个问题是一些已知已解决问题的变体”的知识。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com