由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 这个题咋做?
相关主题
Subset of size m Problem请教一个题目
请教leetcode Subsets II问一到题目
Leetcode上subsets-ii的疑问问一个cracking code interview上的问题啊
问两道fb题请教一下subset I 输出子集顺序问题
问一道算法题a problem from leetcode: high efficiency algorithm for combinations problem
问一道题(1)combinations 有没有 iterative的方法阿 ?
subset请教一题,关于interval
问道老题问个程序题10个包子
相关话题的讨论汇总
话题: subset话题: vector话题: int话题: std话题: start
进入JobHunting版参与讨论
1 (共1页)
P*******b
发帖数: 1001
1
Input an integer array of size n and an integer k (k<=n), output all subsets
of size k.
thanks
z****n
发帖数: 1379
2
用二进制
比如10011就是n=5,k=3的一种情况,相当于取第1个,第4个,和第5个构成subset

subsets

【在 P*******b 的大作中提到】
: Input an integer array of size n and an integer k (k<=n), output all subsets
: of size k.
: thanks

d**********o
发帖数: 279
3

我觉得楼主是想要一个枚举的策略吧,

【在 z****n 的大作中提到】
: 用二进制
: 比如10011就是n=5,k=3的一种情况,相当于取第1个,第4个,和第5个构成subset
:
: subsets

f*********5
发帖数: 576
4
almost the same as get combination.
but not output everyone,just output when there is K items

subsets

【在 P*******b 的大作中提到】
: Input an integer array of size n and an integer k (k<=n), output all subsets
: of size k.
: thanks

t****a
发帖数: 1212
5
# Subset(k, n) = 1, if k == n
# Subset(1, n) = n
# Subset(k, n) = # Subset(k, n-1) + # Subset(k-1, n-1)
s*********t
发帖数: 1663
6
std::vector > kSubset( std::vector& S, int start, int
k )
{
std::vector > subs;
std::vector a;
if( k == 0 || (int)S.size() - start < k){
return subs;
}
if( S.size()-start == 1 ){
a.push_back(S[start]);
subs.push_back(a);
return subs;
}
std::vector > s1 = kSubset(S, start+1, k-1);
if(s1.size()==0){
a.push_back(S[start]);
subs.push_back(a);
}
else{


【在 P*******b 的大作中提到】
: Input an integer array of size n and an integer k (k<=n), output all subsets
: of size k.
: thanks

i*****e
发帖数: 113
7
我的解法,楼上有解法,我纯粹做练习的
S(n, k) = S(n-1, k-1) + S(n-1, k)
const int array[LEN]; // global or class member
std::list*> result; // global or class member
void enumerate(int k, int start, const vector& part)
{
if (part.size() == k) { // part.size() is unlikely greater than k
result.push(new vector(part));
return;
}
if (start >= LEN) {
return;
}
vector* v = new vector(part);
v->push_back(array[start]);
enumerat
1 (共1页)
进入JobHunting版参与讨论
相关主题
问个程序题10个包子问一道算法题
Facebook Phone Inteview + 流程请教问一道题(1)
问个算法题2subset
问个算法题,修改版问道老题
Subset of size m Problem请教一个题目
请教leetcode Subsets II问一到题目
Leetcode上subsets-ii的疑问问一个cracking code interview上的问题啊
问两道fb题请教一下subset I 输出子集顺序问题
相关话题的讨论汇总
话题: subset话题: vector话题: int话题: std话题: start