class Solution {
public:
int sum = 0;
int count = 0;
void backtrack(vector<int>& nums, int target,int curIndex) {
if (curIndex == nums.size()) {
if (sum == target) {
count++;
}
return;
}
for (int flag = 1; flag >= -1; flag -= 2) {
sum += nums[curIndex] * flag;
backtrack(nums, target, curIndex + 1);
sum -= nums[curIndex] * flag;
}
}
int findTargetSumWays(vector<int>& nums, int target) {
backtrack(nums, target, 0);
return count;
}
};
LeetCode494.目标和
最新推荐文章于 2024-08-10 15:25:17 发布