LeetCode百题【目标和】
题目描述
给你一个整数数组 nums
和一个整数 target
。
向数组中的每个整数前添加 '+'
或 '-'
,然后串联起所有整数,可以构造一个 表达式 :
- 例如,
nums = [2, 1]
,可以在2
之前添加'+'
,在1
之前添加'-'
,然后串联起来得到表达式"+2-1"
。
返回可以通过上述方法构造的、运算结果等于 target
的不同 表达式 的数目。
示例 1:
1 |
|
示例 2:
1 |
|
提示:
1 <= nums.length <= 20
0 <= nums[i] <= 1000
0 <= sum(nums[i]) <= 1000
-1000 <= target <= 1000
解法
- 回溯
- 看到题目容易想到的就是dfs暴力枚举每一个元素,每个元素都存在两种情况
- 为正数–>加上之前枚举的情况
- 为负数–>减去之前枚举的情况
1 |
|
- 时间复杂度:O(n^2)
来源:力扣(LeetCode)
链接:494. 目标和 - 力扣(LeetCode)
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 漫漫长夜!