题目:
解析:
决策树:
代码设计:
代码:
写法一: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
相关推荐
jazz_bin1 小时前
人工智能安全——大语言模型遗忘学习(LLM unlearning)与多目标优化算法生信碱移1 小时前
使用大语言模型的生物嵌入,后续应该会有很多类似文章出来!高 朗3 小时前
【算法刷题】链表2401_858286114 小时前
L27.【LeetCode笔记】2 的幂(五种解法)chenziang14 小时前
leetcode hot 100 不同路径走在考研路上4 小时前
力扣459 重复的字符串❦丿多像灬笑话、℡4 小时前
leetcode热题100(763. 划分字母区间) c++Smark.4 小时前
(leetcode算法题)384. 打乱数组 398. 随机数索引破-风4 小时前
leetcode-----mysqlKomorebi_awa4 小时前
xdoj-字符串-556,为什么字符不能被正常读入