2
這是獲得真實的或給定和目標值用C子集和遞歸++
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));
}
}
假然而,這種解決方案將只返回true或false值的解決方案之一。如何獲得涉及子集的元素(集合在一起的集合將等於目標)?
我必須使用動態編程嗎?因爲我知道..遞歸實際上是建立堆棧,並且在函數返回值之後,框架內的值也將被丟棄。
那麼,是否有可能獲得加起來等於目標值的元素。
傳遞一個對象的問題的解決方案?
謝謝