我正在制作一个程序,给出给定两个数字的可能组合数量,比如 N 选择 K。我有一个递归解决方案,如下所示:
public static int combinations(int group, int members) {
if (members == 1) {
return group;
}
else if (members == group) {
return 1;
}
else {
return(combinations(group - 1, members - 1) +
combinations(group - 1, members));
}
}
这个可行,但我需要使用记忆来提高时间复杂度并加快处理较大数字的速度,但我不知道如何去做。我该怎么做呢?
当年话下
慕妹3146593
相关分类