【发布时间】:2018-09-29 01:52:54
【问题描述】:
我需要了解这种递归是如何工作的,我了解简单的递归示例,但更高级的递归示例很难。即使我认为只有两行代码有问题...... return 语句本身。我只是对它的工作原理持空白,尤其是 and/or 运算符。非常欢迎任何见解。
bool subsetSumExists(Set<int> & set, int target) {
if (set.isEmpty()) {
return target == 0;
} else {
int element = set.first();
Set<int> rest = set - element;
return subsetSumExists(rest, target)
|| subsetSumExists(rest, target - element);
}
}
【问题讨论】:
-
那么您在理解递归或布尔运算符
and/or时遇到了困难? -
两者都有!就像和/或如何选择其中一个返回?第一个还是第二个?
标签: c++ recursion subset-sum