
回溯法
-Billy
这个作者很懒,什么都没留下…
展开
-
整数分解
给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。示例 1:输入: 2输出: 1解释: 2 = 1 + 1, 1 × 1 = 1。示例 2:输入: 10输出: 36解释: 10 = 3 + 3 + 4, 3 × 3 × 4 = 36。说明: 你可以假设 n 不小于 2 且不大于 58。1、回溯法(对于每...原创 2019-02-21 18:06:39 · 1071 阅读 · 0 评论 -
子集和问题
子集和问题的一个实例为〈S,t〉。其中,S={ x1, x2,…, xn}是一个正整数的集合,c是一个正整数。子集和问题判定是否存在S的一个子集S1,使得子集S1和等于c。 设计一个回溯法来求解该问题。解题思路:对于该集合的每一个子集,若元素和为正整数c,则将该子集放入解集中,最后返回解集即可。 /** * @param list 存放所有满足要求的解 * @para...原创 2019-02-18 16:00:15 · 1032 阅读 · 0 评论 -
旅行售货员问题
某售货员要到若干城市去推销商品,已知各城市之间的路程,他要选定一条从驻地出发,经过每个城市一遍,最后回到住地的路线,使总的路程最短。解题思路:先对所有城市全排列 ,再计算每条路径的花费,取最小值。 int MinCost = Integer.MAX_VALUE; // 花费 /** * @param route 路线花费 * @param city 城市编号 ...原创 2019-02-18 19:09:09 · 1572 阅读 · 1 评论