15得票7回答
在给定范围内计算所有具有唯一数字的数字数量

这是一个面试题。计算在[1, N]范围内所有具有唯一数字(十进制)的数字总数。 明显的解决方案是测试范围内每个数字是否具有唯一数字。我们也可以生成所有具有唯一数字的数字(作为排列),并测试它们是否在范围内。 现在我想知道是否有一个DP(动态规划)解决方案来解决这个问题。

14得票3回答
解释这个动态规划爬楼梯代码

问题是: “你正在爬楼梯,每次可以爬1步或2步。这个楼梯有n个台阶。你能以多少种不同的方式爬完整个楼梯?” 以下是解决此问题的代码解决方案,但我无法理解它。有人可以解释一下吗?int stairs(int n) { if (n == 0) return 0; int a = 1; ...

10得票6回答
N个重叠会议日程的最佳房间数量和大小

我碰到了这个问题,不确定我的解决方案是否最优。 问题 给定N个加权(Wi)可能重叠的时间段(代表会议日程),找出进行所有会议所需的最小数量"&" 会议室的容量。 示例|---10------|. . . . . . . . . . . . . . . . . . . . . . ...

14得票4回答
具有相同数字的最大矩形子矩阵

我正在尝试设计一种动态规划算法,以查找由相同数字组成的矩阵中最大的子矩阵: 例如:{5 5 8} {5 5 7} {3 4 1} 答案:由于矩阵的存在,有4个元素。 5 5 5 5

12得票10回答
如何在一个列表中找到不一定相邻的最大连续数字集合?

例如,如果我有一个列表[1,4,2,3,5,4,5,6,7,8,1,3,4,5,9,10,11] 该算法应该返回 [1,2,3,4,5,6,7,8,9,10,11]。 为了澄清,最长的列表应该是按正向顺序运行的。我想知道有什么算法效率高的方法可以实现这一点(最好不要是O(n^2))? 此外...

7得票2回答
硬币找零问题的变体

我正在尝试解决一个带有变化的经典动态规划硬币找零问题。这是一个作业问题,我不是在寻找完整的解决方案,只是想要一些指针来看看我做错了什么。 输入: - 金额 `x`,我们要用硬币支付一些价值。 - 代表面值的硬币数量(1c、5c、10c、25c、100c、200c)的集合`d` 输出: ...

12得票3回答
多态模型可绑定表达式树解析器

我正在尝试找出一种结构化数据的方法,使其可以进行模型绑定。我的问题是我必须创建一个查询过滤器,它可以表示数据中的多个表达式。 例如: x => (x.someProperty == true && x.someOtherProperty == false) || x.UserId == 2...

20得票4回答
在一个由1和0组成的矩阵中,查找所有只包含1的子矩阵中最大的那个子矩阵。

假设您有一个mXn位图,由数组M [1..m,1..n]表示,其条目均为0或1。全一块是形式为M [i..i0,j..j0]的子数组,其中每个位都等于1。请描述并分析一种有效的算法,以查找具有最大面积的M中的全一块。 我正在尝试制作动态规划解决方案。但是我的递归算法运行时间为O(n ^ n)...

8得票6回答
如何用最少的步骤使一个序列成为非递减序列?

这里是问题陈述: 给定一个由N个整数组成的序列。每一步可以将任何数字的值增加1或减少1。游戏的目标是以最少的步骤使序列非递减。 例如,给定 3 2 -1 2 11 我们可以在4步内使此序列成为非递减序列(将3减1并将-1增加3)。 (-1) (0) (+3) (0) (0)...

7得票4回答
我该如何使用DP来解决这个问题?

问题链接:http://codeforces.com/contest/2/problem/B 有一个由非负整数构成的 n × n 方阵。你需要在其中找到这样一条路径: 从方阵的左上角出发; 每次只能向右或向下移动一个方格; 最终到达方阵右下角。 此外,如果将路径上经过的所有数字相乘,...