题目:
解析:
决策树:
代码设计:
代码:
写法一: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
相关推荐
菜鸡爱玩8 小时前
线性代数矩阵相乘devilnumber12 小时前
Java 递归算法 详解 + 核心要点 + 实战运用 + 避坑指南ദ്ദിᵔ.˛.ᵔ₎14 小时前
双指针、滑动窗口、前缀和、二分查找 算法顾北顾14 小时前
多头注意力机制H1785350909614 小时前
SolidWorks_基于草图的实体特征20_特征错误排查hujinyuan2016014 小时前
2025年12月中国电子学会青少年机器人技术等级考试试卷(二级) 真题+答案bIo7lyA8v15 小时前
算法复杂度评估的实验统计方法与可视化的技术8李老师讲编程15 小时前
中国电子学会图形化2020.12月Scratch三级考级题退休倒计时16 小时前
【每日一题】LeetCode 53. 最大子数组和 TypeScript

