【问题标题】:finding largest increasing subset of an array (non-contiguous)找到数组的最大递增子集(非连续)
【发布时间】:2010-09-17 02:59:39
【问题描述】:

如何找到数组的最大递增(非连续)子集?例如,如果 A= array(50,1,4,9,2,18,6,3,7,10) 最大的非连续子集是 (1,4,6,7,10) 或 ( 1,2,6,7,10)。我可以直观地看到如何找到子集,但我不知道如何设计算法。

【问题讨论】:

  • 另见Programming Pearls了解更多作业线索和编程技巧。
  • also - 1,9,18 与 1,4,6,7,10 具有相同的值
  • 50 不是最大的值吗?
  • 他没有说“最大的价值”,只是说“最大的”。我认为他在计算元素。因此 {50} = 1, {1,9,18} = 3, {1,4,6,7,10} = 5

标签: arrays algorithm


【解决方案1】:

维基百科有一个高效算法的伪代码:

http://en.wikipedia.org/wiki/Longest_increasing_subsequence_problem

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-06
    • 2021-01-15
    • 1970-01-01
    • 2013-09-13
    • 2012-08-23
    • 2018-05-23
    • 1970-01-01
    相关资源
    最近更新 更多