考虑到具有以下约束的二维网格,我想找到最长的子序列:
示例:
824
061
379
上述输入的最长路径的长度为8,序列为9,1,6,2,8,0,7,3
我厌倦了使用多个for循环的方法,但是这样做效率极低。我想知道如何使用动态编程。任何帮助将不胜感激。
答案 0 :(得分:0)
只需遵循约束,即可从网格中的每个可能来源运行bfs (Breadth-first search)。例如,在给定的样本输入中,可能的来源数量为9。然后,将路径保存在某些合适的数据结构中。保存路径后,检查哪个路径最长,这就是您的答案。