排列组合的递归算法

简介: import java.util.*; public class PermutationAndCombination {  /**  * author:54powerman@163.
import java.util.*;
public class PermutationAndCombination
{
 /**
 * author:54powerman@163.com
 * blog:http://blog.sina.com.cn/m/54powerman
 **/
 public static void main(String[] args)
 {
  long date1=System.currentTimeMillis();
  List list=count("01234567");//89abcdefghijklmnopqrstuvwxyz
  for(int i=0;i<list.size();i++)
  {
   System.out.println(list.get(i));
  }
  System.out.println("Process complete!Get "+list.size()+" strings and take ");
  System.out.print(System.currentTimeMillis()-date1+" ms");
 }
 public static List count(String strData)
 {
  List list = new ArrayList();
  if(strData.length()<2)
  {
   list.add(strData);
   return list;
  }
  else if(strData.length()==2)
  {
   String str1=strData.substring(0,1);
   String str2=strData.substring(1);
   list.add(strData);
   list.add(str2+str1);
  }
  else
  {
   for(int i=0;i<strData.length();i++)
   {
    String strTmp=strData.substring(i,i+1);
    List listTmp=count(strData.substring(0,i)+strData.substring(i+1,strData.length()));
    for(int j=0;j<listTmp.size();j++)
    {
     list.add(strTmp+listTmp.get(j).toString());
    }
   }
  }
  return list;
 }
};
写在这里不是因为这算法如何,而是,只是一道题目的解答——请用递归算法找出字符串中字符的排列组合。
目录
相关文章
|
2月前
|
算法 索引 Python
使用Python基础与蒙特卡洛算法实现排列组合
使用Python基础与蒙特卡洛算法实现排列组合
68 0
|
2月前
|
移动开发 算法 Python
Python能实现排列组合算法吗?
Python能实现排列组合算法吗?
51 0
|
12月前
|
机器学习/深度学习 存储 边缘计算
转:排列组合公式算法在局域网监控软件中的技术趋势与未来发展
排列组合公式是组合数学中的一种计算方法,用于确定给定集合中元素的不同排列和组合的数量。在局域网监控软件中,排列组合公式可以应用于一些特定的场景,如网络中的用户组合、权限管理、资源分配等方面。
85 0
|
11月前
|
存储 算法 C++
【C/C++练习】经典的排列组合问题(回溯算法)——电话号码的字母组合
【C/C++练习】经典的排列组合问题(回溯算法)——电话号码的字母组合
95 0
|
11月前
|
算法
排列组合算法
排列组合算法
|
11月前
|
算法 搜索推荐 UED
转:说说排列组合算法在文档管理系统中的应用优势
在现代信息时代,随着数据量的不断增长,文档管理系统变得超级重要!就是在这样的背景下,排列组合算法展现出了在文档管理系统中的多种应用优势。这可是对于提高系统的效率和用户体验来说,简直太关键了!
54 0
|
12月前
|
机器学习/深度学习 存储 监控
转:排列组合算法在监控软件中的优势、复杂性与应用场景
排列组合算法在监控软件中可能用于处理一些组合与排列问题,例如处理多个元素的组合方式或排列顺序。它在一些特定场景下具有一定的优势和适用性,但也要注意其复杂性。
77 0
|
机器学习/深度学习 算法 Python
转:排列组合算法Python的代码示例
排列组合算法是计算机科学中用来计算从一个集合中选取元素的不同方案数的算法。它可以计算出从n个元素中选取k个元素的不同方案数,也就是组合数C(n, k)。排列组合算法也可以用来计算全排列数,也就是n个元素的全排列数为A(n, n)。
183 0
|
算法 前端开发 iOS开发
前端电商 sku 的全排列算法很难吗?学会这个套路,彻底掌握排列组合
前段时间在掘金看到一个热帖 《今天又懒得加班了,能写出这两个算法吗?带你去电商公司写商品中心》,里面提到了一个比较有意思故事,大意就是一个看似比较简单的电商 sku 的全排列组合算法,但是却有好多人没能顺利写出来。有一个毕业生小伙子在面试的时候给出了思路,但是进去以后还是没写出来,羞愧跑路~
|
算法 C语言
14【C语言 & 趣味算法】三色球问题(数学中 基础的 排列组合 问题)
14【C语言 & 趣味算法】三色球问题(数学中 基础的 排列组合 问题)
14【C语言 & 趣味算法】三色球问题(数学中 基础的 排列组合 问题)