24得票2回答
内存受限的硬币找零问题,适用于小于十亿的数字

我在一次培训中遇到了这个问题。我们有N个不同的值(N<= 100)。我们把这个数组称为A[N],对于这个数组A,我们确定其中有一个1,而且A[i] ≤ 109。其次,我们给出了数字S,其中S ≤ 109。 现在我们需要使用这些值来解决经典的硬币问题。实际上,我们需要找到最少...

24得票2回答
Dijkstra算法是一种贪心或动态规划算法吗?

在这篇文章中,将 Dijkstra算法描述为贪心算法,而在这里和这里则显示它与动态规划算法有关。 那到底是哪个呢?

23得票6回答
具有挑战性的动态规划问题。

这是一个我需要解决的计算机视觉问题的简化版本。假设给定参数n和q,必须计算出将整数0..(q-1)分配给n×n网格元素的方法数,使得对于每个分配,以下情况均为真: 相邻的两个元素(水平或垂直)没有相同的值。 位置(i,j)的值为0 位置(k,l)的值为0 由于未知(i,j,k,l),输...

22得票5回答
函数式编程中的动态规划

我正在看 Project Euler 上的 问题31,它问:使用任意数量的1p、2p、5p、10p、20p、50p、£1(100p)和£2(200p)硬币,有多少种不同的方法可以组成 £2。 有递归解决方案,例如 Scala 中的这个(由 Pavel Fatin 提供) def f(ms:...

22得票2回答
如何使用动态规划算法在图中找到哈密顿回路?

什么是用于在无向图中查找哈密顿回路的动态规划算法?我曾经看到过一种时间复杂度为O(n.2^n)的算法。

22得票5回答
潜在的O(n)解法:最长递增子序列

我试图用递归(动态规划)回答这个问题。 http://en.wikipedia.org/wiki/Longest_increasing_subsequence 从这篇文章和SO周围,我意识到最有效的现有解决方案是O(nlgn)。我的解决方案是O(N),我找不到它失败的情况。我包括我使用的单元...

22得票16回答
检查给定的字符串是否符合给定的模式

我的朋友刚刚在 Google 面试时被拒绝了,因为他不能给出这个问题的解决方案。 我自己也要在几天后面试,但似乎无法想出解决方法。 以下是问题: 给定一个模式,例如 [a b a b]。还给定一个字符串,例如 "redblueredblue"。我需要编写一个程序来告诉我字符串是否遵循给定的模...

22得票9回答
长度最长的子数组和小于等于k

在一次面试中,我被问到这个问题:给定一些正整数数组s,找到最长的子数组长度,使得其所有值的总和小于或等于某个正整数k。每个输入始终至少有一个解决方案。该数组不是循环的。 我开始编写一个动态规划的解决方案,通过从0到k逐渐找到越来越大的最大长度。 下面是我的Python代码,其中有一个错误,...

21得票7回答
获取树的最小顶点覆盖的良好算法是什么?

如何得到一棵树的最小顶点覆盖的好算法? 输入: 节点的邻居。 输出: 最小顶点数。

21得票6回答
编辑距离递归算法 -- Skiena

我正在阅读Steven Skiena的《算法设计手册》,目前正在学习动态规划章节。他提供了一些编辑距离的例子代码,但其中使用了一些既没有在书中解释也没有在互联网上介绍过的函数。因此,我想知道: a)这个算法是如何工作的? b)函数indel和match是做什么的? #define MAT...