题目:
解析:
决策树:
代码设计:
代码:
写法一:path为全局变量
javaprivate int ret,path,aim; public int findTargetSumWays(int[] nums, int target) { aim = target; dfs(nums,0); return ret; } private void dfs(int[] nums, int pos){ if(pos == nums.length){ if(path == aim) ret++; return; } //添加 '+' path += nums[pos]; dfs(nums,pos+1); path -= nums[pos];//回溯 //添加 '-' path -= nums[pos]; dfs(nums,pos+1); path += nums[pos];//回溯 }
写法二:path作为参数
javaprivate int ret,aim; public int findTargetSumWays(int[] nums, int target) { aim = target; dfs(nums,0,0); return ret; } private void dfs(int[] nums, int pos,int path){ if(pos == nums.length){ if(path == aim) ret++; return; } //添加 '+' dfs(nums, pos+1, path + nums[pos]); //添加 '-' dfs(nums, pos+1, path - nums[pos]); }
穷举vs暴搜vs深搜vs回溯vs剪枝系列一>
robin_suli2025-01-03 23:37
相关推荐
修己xj36 分钟前
探索设计模式的宝库:Java-Design-Patterns鲨鱼辣椒_TUT39 分钟前
MySQL连接算法和小表驱动大表的原理设计师小聂!1 小时前
力扣热题100------21.合并两个有序链表এ᭄画画的北北2 小时前
力扣-1.两数之和shenghaide_jiahu2 小时前
数学建模——递归和动态规划凯子坚持 c3 小时前
动态规划专题:详解二维费用背包问题——以“一和零”与“盈利计划”为例黑色的山岗在沉睡3 小时前
P1948 [USACO08JAN] Telephone Lines S快去睡觉~4 小时前
力扣301:删除无效的括号技术炼丹人5 小时前
从RNN为什么长依赖遗忘到注意力机制的解决方案以及并行