이 재귀가 어떻게 작동하는지 이해해야하지만 간단한 재귀 예제는 이해하지만 고급 예제는 어렵습니다. 심지어 두 줄의 코드가 있다고 생각했는데 ... 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);
}
}
그래서 재귀 또는 부울 연산자 '및/또는'을 이해하는 데 문제가 있습니까? – vidit
모두! 어떻게 그리고/또는 그 중 어느 것을 반환 할 것인가? 첫 번째 또는 두 번째? –