dynamic-programming 相关问题

动态编程是一种算法技术,用于有效地解决包含许多重叠子问题的递归结构的问题。

对于硬币变化问题(动态规划方法),递归关系中+1的含义是什么?

我看到了硬币变化问题。通常,输入为n(要返回的更改)和可用的面额(以美分为单位的硬币值),v1 <v2 <v1 <... <vk;目标 ...

回答 2 投票 0

如何在三角形数字中找到最大路径和

我正在尝试编写一个程序来找到三角形的最大路径和。路径总和是从顶部到底部出现在路径上的数字之和,因此在每条路径上下一个...

回答 1 投票 0

用三种颜色A,B和C填充网格

如何找到填充网格(3 * n)数组的方法的数量,使用三种颜色A,B和C.在以下约束条件下:1)同一行中的所有n个单元格不能具有相同的颜色。 2)全部3 ...

回答 2 投票 2

memoization和动态编程有什么区别?

memoization和动态编程有什么区别?我认为动态编程是memoization的一个子集。这样对吗?

回答 7 投票 205

非连续元素的最大总和(来自任何地方的k个元素)

“给定一个正整数数组的问题的改进版本,从这个数组中找到非连续元素的最有效算法是什么,当它们加在一起时,产生...

回答 3 投票 1

LeetCode的“House Robber”问题路径 - 无法打印路径

我已经解决了LeetCode的“House Robber”问题,但我无法打印路径。我使用列表尝试了一些技巧,但我总是得到错误的答案。我怎么记得以前的决定......

回答 1 投票 1

运行时间 - 动态编程算法

在计算它的最终答案的过程中解决N个子问题的任何动态编程算法必须在Ω(N)时间内运行。这个陈述是真的吗?我认为这确实是真的,因为我......

回答 1 投票 0

动态编程找到最小路线

我在为这个DP问题设计解决方案时遇到了问题假设您想要从A市旅行到B市。在您有多种选择选择酒店的路上有n个中途停留......

回答 1 投票 0

贪婪算法是否也可能是动态编程算法?

贪婪算法是否也可能是动态编程算法?我参加了一个算法分析课,但我仍然不确定这两个概念。我明白贪心......

回答 3 投票 1

最长增长子序列的递归解中的一维记忆

计算数组中的LIS(最长增加子序列)是一个非常着名的动态编程问题。然而,在每个教程中,他们首先显示递归解决方案而不使用概念...

回答 1 投票 1

给定一个数字列表和一个数字k,返回列表中的任何两个数字是否加起来为k

Google编程面试中提到了这个问题。我想到了两种相同的方法:查找长度的所有子序列。这样做的同时计算总和和两个元素和...

回答 29 投票 14

使用遗传算法解决0-1背包问题会更好吗?

背包问题是一个组合优化问题,其中必须最大化背包中物体的好处而不超过其容量。我们知道有很多方法可以解决......

回答 1 投票 0

此活动选择递归细分中有多少子问题?

活动选择:给定一组具有开始和结束时间的活动A,找到相互兼容的活动的最大子集。我的问题这两种方法看起来是一样的,但......

回答 2 投票 1

子集和算法

我正在研究这个问题:Subset Sum问题将n个整数和另一个整数K的集合X = {x1,x2,...,xn}作为输入。问题是检查是否存在X的子集X' ...

回答 12 投票 43

给定n个整数的列表,找到大于X的最小子集和

给定数组形式的未排序整数集,找到大于或等于const整数x的最小子集和。例如: - 我们的集合是{4 5 8 10 10}并且x = 15因此最小的子集和最接近...

回答 2 投票 1

合并的字符数组中的最小重复次数

假设我有两个数组,我想合并它们,以便合并的数组具有最小的重复次数。例如['x','x']是重复。 arr1 = ['x','d','d','m','f','m'] ......

回答 1 投票 2

动态编程 - 找到公式

我无能为力地试图解决这个问题:让arr成为长度为n的整数数组(从1到n的索引)。如果存在子集,则让M [s] [i]成为包含布尔值的矩阵...

回答 1 投票 0

动态规划 - 最大切削和实际解决方案的杆切削问题

所以我正在尝试编写修改版杆切割问题的代码。该链接提供了对问题的良好直觉。但是,我想修改代码,不仅实际返回...

回答 1 投票 0

动态编程 - 油漆栅栏算法

有一个有n个帖子的围栏,每个帖子都可以涂上一种k颜色。您必须绘制所有帖子,使得不超过两个相邻的栅栏柱具有相同的颜色。归还总数......

回答 3 投票 9

如何合并两个列表以找到最小的重复因子?

我有两个列表,例如A = [“spin”,“dab”,“dab”,“moonwalk”,“clap”,“moonwalk”] B = [“dab”,“dab”,“spin”,“clap” “,”拍手“,”月球漫步“]合并两个列表后,我可以有一个这样的列表......

回答 1 投票 -1

© www.soinside.com 2019 - 2024. All rights reserved.