php回溯算法计算组合总和的方法
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,本文小编为大家详细介绍"php回溯算法计算组合总和的方法",内容详细,步骤清晰,细节处理妥当,希望这篇"php回溯算法计算组合总和的方法"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习
千家信息网最后更新 2025年11月07日php回溯算法计算组合总和的方法
本文小编为大家详细介绍"php回溯算法计算组合总和的方法",内容详细,步骤清晰,细节处理妥当,希望这篇"php回溯算法计算组合总和的方法"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。
candidates 中的每个数字在每个组合中只能使用一次。
说明
所有数字(包括目标数)都是正整数。 解集不能包含重复的组合。
实例
输入:
candidates = [10,1,2,7,6,1,5], target = 8,
所求解集为:
[
[1, 7],
[1, 2, 5],
[2, 6],
[1, 1, 6]]
解题思路
直接参考回溯算法团灭排列/组合/子集问题。
代码
class Solution { /** * @param Integer[] $candidates * @param Integer $target * @return Integer[][] */ public $res = []; function combinationSum2($candidates, $target) { sort($candidates); // 排序 $this->dfs([], $candidates, $target, 0); return $this->res; } function dfs($array, $candidates, $target, $start) { if ($target < 0) return; if ($target === 0) { $this->res[] = $array; return; } $count = count($candidates); for ($i = $start; $i < $count; $i++) { if ($i !== $start && $candidates[$i] === $candidates[$i - 1]) continue; $array[] = $candidates[$i]; $this->dfs($array, $candidates, $target - $candidates[$i], $i + 1);//数字不能重复使用,需要+1 array_pop($array); }}实例扩展:
3) { //输出最优解 if($daMi == (2 * $result[1] + $result[2] + 0.5 * $result[3])) { echo "最优解,大米:${daMi},大牛:$result[1],中牛: $result[2],小牛:$result[3]"; } return; } for($i = 0;$i <= 2 * $daMi;$i++) { $result[$t] = $i; //剪枝 if(isOk($t,$daMi,$result)) { backtrack($t+1,$daMi,$result); } $result[$t] = 0; }}/*}}}*/backtrack(1,$daMi,$result);?>读到这里,这篇"php回溯算法计算组合总和的方法"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。
组合
算法
数字
总和
方法
文章
内容
实例
思路
目标
妥当
最大
代码
可以使
大米
子集
小牛
数组
整数
新知
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
赣榆区智能网络技术品质保障
我的软件开发工作随笔
山西财智通软件开发有限公司
青岛市产业园区软件开发商
北京红手网络技术有限公司
黑骗子数据库
万方数据库收录图书期刊学位标准
王者荣耀流畅的服务器好组队吗
生产环境中怎么保存数据库密码
闲置手机怎么做服务器
网络安全模式连接不上网怎么办
值得信赖的数据库漏洞扫描
influxdb数据库
网络安全培训学习现状
sql 访问远程数据库
网络安全宣传周颍上工会在行动
宁夏手机软件开发制作
原神有服务器
申请qq空间访问服务器繁忙
东方电子电力网络安全监测装置
肇庆酒店软件开发市场价
软件开发中过度设计是什么
盛世芳华服务器繁忙如何处理
电商app模板软件开发
mc服务器设置中文
湖北多功能软件开发怎么样
博山应用软件开发定制
武汉高科技互联网公司
电信网上大学网络安全题库
互联网科技模板