有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在2D数组中找到最长的递增子序列

我有这个问题作为家庭作业,我真的不知道从哪里开始。我已经使用递归算法(#1)实现了这个解决方案,但我就是不知道如何使用堆栈解决这个问题。。。任何帮助都会很好

查找15 x 15数组中最长的递增数列。例如,如果数组4x4包含

97  47  56  36
35  57  41  13
89  36  98  75
25  45  26  17

那么最长的递增数列就是长度为8的数列,由17、26、36、41、47、56、57、97组成。请注意,递增序列中没有重复项

  1. 设计一个递归算法来解决这个问题,并在Java中实现

  2. 设计一个非递归算法,使用堆栈解决相同的问题


共 (1) 个答案

  1. # 1 楼答案

    因为这是家庭作业,这里有一个提示: 可以将数字数组转换为有向无环图。(这是非循环的,因为序列中不允许重复。)之后,你可以使用一个算法来解决最长路径问题,在你的图中找到一条最长的简单路径