leetcode_middle_15_494. Target Sum
来源:互联网 发布:微纳制造技术 知乎 编辑:程序博客网 时间:2024/06/04 23:28
题意:
给一个目标数和一个非负整数数组,给数组的每一个数正号或者符号,使这一列数运算的到目标数。返回添加符号的可能种数。
分析:
本来数学推导推了半天,但是无论推成什么样不可绕过的都是搜索怎么搜,遍历怎么完成。所以那些推到全没用,因为是+,-两种有限的可能,我们考虑深搜(像二叉树一样)。
深搜用递归完成,注意深搜递归的几个要素:
参数:数组本身一定要传,目标数,树已经搜索的层数(确定搜索什么时候结束)。
初始实参:数组本身,目标数,树已经搜索的层数
结束条件:树已经搜索的层数到达数组长度
递归时参数的变化:树搜索的层数加1
ublic class Solution { int count = 0; public int findTargetSumWays(int[] nums, int S) { helper(nums, S, 0); return count; } public void helper(int[] arr, int target, int n){ if(n == arr.length){ //先来递归结束条件:深搜到底 if(target == 0){ //必须是恰恰搜索完的时候达到目标才算 count++; } return; } helper(arr, target + arr[n], n + 1); helper(arr, target - arr[n], n + 1); }}
0 0
- leetcode_middle_15_494. Target Sum
- Target Sum
- Target Sum
- Target Sum
- Target Sum
- Target Sum
- Target Sum
- Target Sum
- Target Sum
- Target Sum
- Target Sum
- Target Sum
- Target Sum
- LeetCode 494. Target Sum
- [LeetCode]494. Target Sum
- 494. Target Sum
- [leetcode]494. Target Sum
- 494. Target Sum
- OpenStack:glance_store:_drivers/filesystem.py文件源码学习-02
- grub2中命令的执行
- java内部类详解
- 如何恢复或重置FreeBSD & Linux的root密码
- Java线程(篇外篇):阻塞队列BlockingQueue
- leetcode_middle_15_494. Target Sum
- 正则表达式应用
- 第三方App接入微信登录 解读
- 欢迎使用CSDN-markdown编辑器
- .NET WCF发布 PHP调用相关配置
- plsql无法连接64位oracle数据库的解决方法(图文解说)
- 0008 类与对象
- 小卧室装修效果
- 4.1串类型的定义