全排列的应用算法

原创 2012年03月23日 07:49:26
/**
 * 将5,6,7,8,9添加下面的空格里,使他们的积有最大值。
  
  __  __ __  × __ __
 使用穷举法,把5个数字循环判断放入数组,最大的值就是要找的值。

 */
package 基础题;

import java.util.ArrayList;




public class MaxSum {
 staticArrayList<String> ls=new ArrayList<String>();
public static void main(String[] args) {
// TODO Auto-generated method stub
 String str="56789";
 char c[] = str.toCharArray();// 声明一个字符型数组
        int max=0;
        String rs=null;
ArrayList<String> list=sort(c, 0, c.length - 1);
for(int i=0;i<list.size();i++){
String str1=list.get(i).substring(0, 3);
String str2=list.get(i).substring(3);
int result=Integer.parseInt(str1)*Integer.parseInt(str2);
if(max<result){
max=result;
rs=str1+"*"+str2;
}
System.out.println(str1+"*"+str2+"="+result);
}
System.out.print("最大的乘积为:"+max);

}
public static ArrayList<String> sort(char c[],int begin,int end){
String str="";
if(begin==end){//如果begin==end说明数组中的元素交换完毕,可以打印输出
for(int i=0;i<=end;i++){
str+=c[i];
}
   ls.add(str);
//System.out.println();
}else{
for(int i=begin;i<=end;i++){
//将首元素与气候的第i个元素进行交换
char temp=c[begin];
c[begin]=c[i];
c[i]=temp;
//递归循环调用
sort(c,begin+1,end);
//还原数组
c[i]=c[begin];
c[begin]=temp;
}
}
return ls;
}

}

全排列算法思路解析

1.全排列的定义和公式:从n个数中选取m(m
  • summerxiachen
  • summerxiachen
  • 2017年03月06日 15:34
  • 2735

全排列递归算法详解

一、概述全排列在很多程序都有应用,是一个很常见的算法,常规的算法是一种递归的算法,这种算法的得到基于以下的分析思路。 给定一个具有n个元素的集合(n>=1),要求输出这个集合中元素的所有可能的排列。...
  • sihai12345
  • sihai12345
  • 2017年04月06日 14:47
  • 598

生成全排列算法详解

递归+回溯+SWAP。字典序
  • Dafang_Xu
  • Dafang_Xu
  • 2015年10月17日 17:20
  • 1919

C++输出全排列递归算法详细解释

原文地址:http://www.2cto.com/kf/201505/397602.html 中心思想: 设R={r1,r2,…,rn}是要进行排列的n个元素,Ri=R-{ri}. ...
  • con_heart
  • con_heart
  • 2016年04月18日 01:46
  • 3074

算法总结(9)--全排列问题

leetcode上涉及到的全排列,注意数组的有序,无序,数组元素是否有重复的 主要是递归算法 每个问题记住关键点,注意特殊处理–全排列问题转载 http://blog.csdn.net/more...
  • qq_26437925
  • qq_26437925
  • 2016年10月22日 21:58
  • 782

全排列的四种生成算法

1.字典序法   字典序法中,对于数字1、2、3......n的排列,不同排列的先后关系是从左到右逐个比较对应的数字的先后来决定的。例如对于5个数字的排列 12354和12345,排列12...
  • gaixm
  • gaixm
  • 2015年10月20日 21:00
  • 1490

全排列算法整理

全排列算法整理本文整理了全排列算法的: 递归实现 含重复元素的递归实现 深搜实现(字典序) 含重复元素的深搜实现(字典序) 非递归字典序实现——下一个排列(可含重复元素) 递归实现我们接触的第一个全排...
  • yoer77
  • yoer77
  • 2016年12月05日 00:58
  • 487

n的全排列递归算法

思路: 可以通过递归的方法把n的全排列问题转化为n-1的全排列问题,逐渐推导到一个数字的全排列,显然一个数字的全排列方式只有一种,下面就展示实现该过程的实现代码: #include using ...
  • hero_boke
  • hero_boke
  • 2017年02月28日 20:43
  • 1120

全排列算法的全面解析

对数组进行全排列是一个比较常见问题,如果是一个比较喜欢考算法的公司(貌似一些大公司都比较喜欢考算法),那么估计就会考察应聘者这个全排列的问题了(就算不让你编写完整代码,也会让你描述大致的思路)。这个问...
  • u013761665
  • u013761665
  • 2016年03月27日 00:10
  • 6613

java中全排列的生成算法汇总

全排列的生成算法就是对于给定的字符集,用有效的方法将所有可能的全排列无重复无遗漏地枚举出来。任何n个字符集的排列都可以与1~n的n个数字的排列一一对应,   因此在此就以n个数字的排列为例说明排列的生...
  • qfikh
  • qfikh
  • 2016年08月29日 09:41
  • 4385
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:全排列的应用算法
举报原因:
原因补充:

(最多只允许输入30个字)