public class _494目标和_hot {
int result = 0;
public int findTargetSumWays(int[] nums, int target) {
// todo 进行回溯,类似于全排列
backtrack(0, target, 0, nums);
return result;
}
private void backtrack(int cur, int target, int level, int[] nums) {
if (level == nums.length) { // todo 这里要注意!!, 一定要结束位置,结束终止条件为level == nums.length, 只有到这个位置,再判定是否等于target
if (cur == target) {
result++;
}
return;
}
backtrack(cur + nums[level], target, level + 1, nums);
backtrack(cur - nums[level], target, level + 1, nums);
}
}
回溯算法:目标和
最新推荐文章于 2024-10-10 22:59:02 发布