由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 一个数组给一个int n, 求数组内能相加得到n的所有组合
相关主题
Given coins of value {k1, k2, ..., km}, 用最少硬币数组成一个sum 咋做啊问一道面试题
请教一道面试题算法题求教
一个店面题贡献T家新鲜面经,求个bless
PDF - LeetCode 200+ 题目总结被这几个题目搞混了
面了几家电面,发现Backtracking考到的概率真高问一道G家热题
Zenefits 电面1好挫的F家面经
问一题请教一道经典的面试真题
今天的一道google电面题目问一个多次遇到的面试题
相关话题的讨论汇总
话题: denom话题: int话题: ways话题: num话题: next
进入JobHunting版参与讨论
1 (共1页)
s******d
发帖数: 61
1
可以多余2个数,这题DP怎么做啊.......
还有
最经典的DP coin问题, careercup上是求所有可能的次数
public static int makeChange(int n, int denom){
int next_denom=0;
switch(denom){
case 25:
next_denom=10;
break;
case 10:
next_denom=5;
break;
case 5:
next_denom=1;
break;
case 1:
return 1;
}
int ways=0;
for(int i=0;i*denom ways+=makeChange(n-i*denom,next_denom);
}
return ways;
}
如果要求print 所有的pair应该如果改code呢?
多谢多谢
s*****y
发帖数: 897
2
recursive + backtracking.
s******d
发帖数: 61
3
不是很懂,backtracking?
I*******l
发帖数: 203
4
Maybe you can try the following: build a table Num[i], i=1,...n, to store
the number of ways summing some numbers in the array gives i. Then Num[n] is
what you want. Suppose the given array is A[1], ..., A[k], then the
recursion is Num[j]=\sum_{k: A[k] different ways of choosing last element in your sum.
In the same way, you can solve the coin problem.
d*******d
发帖数: 2050
5
这不是dp coin问题,这是subset sum问题,经典的NPC问题.

【在 s******d 的大作中提到】
: 可以多余2个数,这题DP怎么做啊.......
: 还有
: 最经典的DP coin问题, careercup上是求所有可能的次数
: public static int makeChange(int n, int denom){
: int next_denom=0;
: switch(denom){
: case 25:
: next_denom=10;
: break;
: case 10:

1 (共1页)
进入JobHunting版参与讨论
相关主题
问一个多次遇到的面试题面了几家电面,发现Backtracking考到的概率真高
这道算法题follow-up让所有人都跪了,你会做吗?Zenefits 电面1
贡献一个最近电面题目问一题
请问一道题:leetcode 416题的扩展今天的一道google电面题目
Given coins of value {k1, k2, ..., km}, 用最少硬币数组成一个sum 咋做啊问一道面试题
请教一道面试题算法题求教
一个店面题贡献T家新鲜面经,求个bless
PDF - LeetCode 200+ 题目总结被这几个题目搞混了
相关话题的讨论汇总
话题: denom话题: int话题: ways话题: num话题: next