题目:
解析:
决策树:
代码设计:
代码:
写法一: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
相关推荐
weixin_458872611 小时前
东华复试OJ二刷复盘2Charlie_lll1 小时前
力扣解题-637. 二叉树的层平均值爱淋雨的男人1 小时前
自动驾驶感知相关算法wen__xvn1 小时前
模拟题刷题3滴滴答滴答答2 小时前
机考刷题之 6 LeetCode 169 多数元素Neteen2 小时前
【数据结构-思维导图】第二章:线性表礼拜天没时间.2 小时前
力扣热题100实战 | 第25期:K个一组翻转链表——从两两交换到K路翻转的进阶之路Swift社区3 小时前
LeetCode 400 第 N 位数字再难也得平3 小时前
力扣239. 滑动窗口最大值(Java解法)摩尔曼斯克的海3 小时前
力扣面试题--双指针类

