php回溯算法计算组合总和的方法
发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,本文小编为大家详细介绍"php回溯算法计算组合总和的方法",内容详细,步骤清晰,细节处理妥当,希望这篇"php回溯算法计算组合总和的方法"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习
千家信息网最后更新 2025年02月05日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安全错误
数据库的锁怎样保障安全
数据库被关联记录被删除
在数据库加载的菜单如何修改
衢州学软件开发自学步骤
幻塔什么时候维护服务器
方舟服务器多少钱
网络安全中国图书分类号
数据库表和电子表格有什么区别
深圳市智享互联网科技有限公司
哪家的云服务器最安全
悟空辅助为什么进不去服务器
无锡韩企 软件开发
深圳市仟讯网络技术有限公司
武大网络安全2022年初试排名
兴安盟网络安全答题竞赛
网络安全纵横论坛
ajax 数据库访问框架
图数据库数据组织
丽江软件开发报名
网络安全证去哪里考
小程序云数据库丢失
pco管理软件开发
综合平台服务器价格
方舟服务器多少钱
东莞旅游软件开发平台
静海区企业网络技术创造辉煌
买电脑主机做服务器可以吗
物流软件开发公司前10名
表格单元格抓取部分数据库
桦南手机软件开发在线咨询
敏捷数据中心网络技术详解