leetcode 494. 目标和
给你一个整数数组 nums 和一个整数 target 。
向数组中的每个整数前添加 ‘+’ 或 ‘-’ ,然后串联起所有整数,可以构造一个 表达式 :
例如,nums = [2, 1] ,可以在 2 之前添加 ‘+’ ,在 1 之前添加 ‘-’ ,然后串联起来得到表达式 “+2-1” 。
返回可以通过上述方法构造的、运算结果等于 target 的不同 表达式 的数目。
示例 1:
输入:nums = [1,1,1,1,1], target = 3
输出:5
解释:一共有 5 种方法让最终目标和为 3 。
-1 + 1 + 1 + 1 + 1 = 3
+1 - 1 + 1 + 1 + 1 = 3
+1 + 1 - 1 + 1 + 1 = 3
+1 + 1 + 1 - 1 + 1 = 3
+1 + 1 + 1 + 1 - 1 = 3
示例 2:
输入:nums = [1], target = 1
输出:1
解题思路
递归遍历每一个元素取正负号的结果,查找出总和为target的所有情况
代码
class Solution {public int findTargetSumWays(int[] nums, int target) {return findWays(nums,0,target);}public int findWays(int[] nums,int i,int target) {if(i==nums.length){if(target==0) return 1;return 0;}return findWays(nums, i+1, target-nums[i])+findWays(nums, i+1, target+nums[i]);}
}
leetcode 494. 目标和相关推荐
- LeetCode—494. 目标和(Target Sum)——分析及代码(Java)
LeetCode-494. 目标和[Target Sum]--分析及代码[Java] 一.题目 二.分析及代码 1. 动态规划 (1)思路 (2)代码 (3)结果 2. 动态规划+节省空间 (1)思路 ...
- leetcode - 494. 目标和
494. 目标和 -------------------------------------------- 给定一个非负整数数组,a1, a2, -, an, 和一个目标数,S.现在你有两个符号 + ...
- LeetCode 494. 目标和(DFS+DP)
文章目录 1. 题目 2. 解题 2.1 递归 2.2 DP 1. 题目 给定一个非负整数数组,a1, a2, -, an, 和一个目标数,S.现在你有两个符号 + 和 -.对于数组中的任意一个整数, ...
- leetcode 494. 目标和
目标和题解集合 记忆化搜索 动态规划 滚动数组优化 一维优化---巧妙转换为01背包问题 记忆化搜索 思路: 将问题转化为对一颗多叉树的遍历,而这里每个数字都有+与-的两种选择,因此这里是构造成二叉树 ...
- 96. Leetcode 494. 目标和 (动态规划-背包问题)
步骤一.确定状态: 确定dp数组及含义 dp[i]表示的是:装满当前的容量j,有多少种装法?, 存的是方法的数量 步骤二.推断状态方程: dp[j] += dp[j-nums[i]] 步骤三.规定初始 ...
- LeetCode刷题复盘笔记—一文搞懂0 - 1背包之494. 目标和问题(动态规划系列第九篇)
今日主要总结一下动态规划0-1背包的一道题目,494. 目标和问题 题目:494. 目标和 Leetcode题目地址 题目描述: 给你一个整数数组 nums 和一个整数 target . 向数组中的每 ...
- 【Leetcode刷题】:Python:494. 目标和
题目 494. 目标和 代码:dp class Solution:def findTargetSumWays(self, nums: List[int], target: int) -> int ...
- LeetCode:1049.最后一块石头的重量II 494.目标和 474.一和零
1049.最后一块石头的重量II 题目 有一堆石头,用整数数组 stones 表示.其中 stones[i] 表示第 i 块石头的重量. 每一回合,从中选出任意两块石头,然后将它们一起粉碎.假设石头的 ...
- 代码随想录刷题|LeetCode 1049. 最后一块石头的重量II 494. 目标和 474.一和零
目录 1049. 最后一块石头的重量 II 思路 最后一块石头的重量|| 494. 目标和 思路 0.求什么 1.确定dp数组的含义 2.递推公式 3.初始化dp数组 4.遍历顺序 目标和 474.一 ...
最新文章
- WC2018集训 吉老师的军训练
- 周伯文对话斯坦福AI实验室负责人:下一个NLP前沿是什么?
- 实例创建流程_Activiti系列~3.流程定义
- 合并分支到master上
- Python之字符串的134个常用操作
- 牛客题霸 [寻找第K大] C++题解/答案
- python中利用opencv对图片进行缩放
- 百度大脑公开课:快速定制、部署高精度深度学习模型!
- Java 数据类型和 MySql 数据类型对应一览表
- oracle如何杀掉表死锁,oracle杀死死锁的方法
- 查看设置本机共享文件 net share
- ArcGIS操作小技巧(一)之属性表中显示出小数点前面的 0
- asBroadcastStream
- scara机器人dh参数表_7. 机器人正运动学—连杆坐标系与DH参数
- 计算机组装与维护评课稿,计算机病毒评课稿
- Oracle汉字排序nls_sort
- Rational Rose2003安装
- 龙果支付 mysql_开源版龙果支付系统-国内首款开源的互联网支付系统
- 养生粥秘方,据说可以补气、泻火和去湿
- 请教个问题,我想把数据中名字的重复值删掉,只保留年纪大的怎么整呢?