由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 请教一道题
相关主题
问一道面试题问一个关于区间的问题
问个微软面试题请教中文OJ一道题
find union for 2 arrays不准用Set怎么做一个给定的SORT好的数列,给一个和的值,求返回所有sum是这个数的任意连个数 的值
来做一道有趣的题目问一道F家的考古题
给定一个数组,找出3个数乘积最大。问一个题
在看大数据量的题,问一道简单的分布式处理刚电面完l家,只敲了一道题,看来是挂了。。。
那道经典的求和问题弱弱的问问:一道排序的题
问一道题说说某著名软件公司的onsite面试
相关话题的讨论汇总
话题: array话题: 10话题: 道题话题: 个数话题: 初始条件
进入JobHunting版参与讨论
1 (共1页)
m*******a
发帖数: 24
1
题目大概是这个意思:
给定N个长度为L的Array,现在从这N个array中选择M个数,使这M个数的和最大。唯一
的限制是从任一个array中取数时,必须从第一个开始取,
依次取若干个(可以取任意多个array)
举例来说:
array 1: 3, 5, 4, 10
array 2: 2, 10, 6, 1
array 3: 7, 8, 1,10
如果M=3,那就是取第二个array的2,10 和第三个array的7。
明显应该是用dynamic programming,但感觉自己想的很复杂。大家有什么思路?多谢
d****n
发帖数: 12461
2
无非就是f(m,n,p)=max{f(m-1,n,p)+a[m-1],f(m,n-1,p)+b[n-1],f(m,n,p-1)+c[p-1]}
然后设好初始条件就可以了。
m*******a
发帖数: 24
3
可能是我没理解不对。你这种是只取一个array吗?可以取任意多个,但每个都必须从
开始取。

【在 d****n 的大作中提到】
: 无非就是f(m,n,p)=max{f(m-1,n,p)+a[m-1],f(m,n-1,p)+b[n-1],f(m,n,p-1)+c[p-1]}
: 然后设好初始条件就可以了。

b***e
发帖数: 1419
4
你这个刚才不是排好序的吗?现在改了?

【在 m*******a 的大作中提到】
: 题目大概是这个意思:
: 给定N个长度为L的Array,现在从这N个array中选择M个数,使这M个数的和最大。唯一
: 的限制是从任一个array中取数时,必须从第一个开始取,
: 依次取若干个(可以取任意多个array)
: 举例来说:
: array 1: 3, 5, 4, 10
: array 2: 2, 10, 6, 1
: array 3: 7, 8, 1,10
: 如果M=3,那就是取第二个array的2,10 和第三个array的7。
: 明显应该是用dynamic programming,但感觉自己想的很复杂。大家有什么思路?多谢

b***e
发帖数: 1419
5
复杂性O(M^N) at least。

【在 d****n 的大作中提到】
: 无非就是f(m,n,p)=max{f(m-1,n,p)+a[m-1],f(m,n-1,p)+b[n-1],f(m,n,p-1)+c[p-1]}
: 然后设好初始条件就可以了。

m*******a
发帖数: 24
6
应该是不排序的。。。我开始弄错了。但感觉排序于否好像没什么影响

【在 b***e 的大作中提到】
: 你这个刚才不是排好序的吗?现在改了?
b***e
发帖数: 1419
7
排序的话好做一万倍。

【在 m*******a 的大作中提到】
: 应该是不排序的。。。我开始弄错了。但感觉排序于否好像没什么影响
1 (共1页)
进入JobHunting版参与讨论
相关主题
说说某著名软件公司的onsite面试给定一个数组,找出3个数乘积最大。
如何处理几个文件的合并排序问题在看大数据量的题,问一道简单的分布式处理
问一个面试题那道经典的求和问题
贡献两个Amazon的电话面试题问一道题
问一道面试题问一个关于区间的问题
问个微软面试题请教中文OJ一道题
find union for 2 arrays不准用Set怎么做一个给定的SORT好的数列,给一个和的值,求返回所有sum是这个数的任意连个数 的值
来做一道有趣的题目问一道F家的考古题
相关话题的讨论汇总
话题: array话题: 10话题: 道题话题: 个数话题: 初始条件