【发布时间】:2011-07-19 05:52:44
【问题描述】:
我有这个问题作为家庭作业,我真的不知道从哪里开始。我已经使用递归算法(#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 组成。注意递增序列中没有重复。
设计一个递归算法来解决这个问题并用Java实现。
设计一种非递归算法来使用堆栈解决相同的问题。
【问题讨论】:
-
我无法看到您显示的阵列是 4x4。
-
@Recursor “我真的不知道从哪里开始。”从这里开始home.earthlink.net/~patricia_shanahan/beginner.html
-
对不起,我一定搞砸了格式。 - 更新。
-
@Andrew Thompson 我可能夸大了我不知道。我知道如何解决这个问题,因为我递归地做了,我只是不知道使用堆栈会有什么帮助。我意识到这需要遍历并使用每个项目作为起点,然后找到每个起点的最大子序列。我真的只是不确定如何使用堆栈来做到这一点......
-
I have implemented the solution using a recursive algorithm (#1)- 你能出示这段代码吗?
标签: java multidimensional-array stack