이것은 그러나,이 솔루션 만 참 또는 거짓 값을 반환 true 또는 주어진 세트의 목표 값부분 합 재귀 ++
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));
}
}
에서 거짓 얻는 용액 중의 하나이다. 하위 집합에 포함 된 요소를 가져 오는 것이 가능합니다 (함께 추가하면 대상과 동일하게 설정됩니다).
동적 프로그래밍을 사용해야합니까? Coz 내가 아는 .. 재귀가 실제로 스택을 구축하고 함수가 값을 반환하면 프레임 안의 값도 무시됩니다.
그래서 목표 값과 동일한 요소를 얻을 수 있습니까?
개체를 문제의 해결 방법으로 전달하고 있습니까?
는 프로그램 조금을 최적화 할 수 있습니다 당신에게 모든