文档章节

字符串全排列

哭哭吓唬你
 哭哭吓唬你
发布于 2013/11/15 13:13
字数 324
阅读 28
收藏 0
public class StringPermutation {

	/**
	 * 方法名称:main()
	 * 方法描述:
	 * @param  
	 * @return String    
	 * @Exception 
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		char[] ch = "aba".toCharArray();
		permutation(ch, 0);
	}
	
	private static boolean isSwap(char[] s, int begin, int end){
		
		for(int i=begin;i<end;i++){
			if(s[i] == s[end]){
				return false;
			}
		}
		return true;
	}
	
	/**
	 * 方法名称:permutation()
	 * 方法描述:index:当前第几个数, size:共有多少个数
	 * @param  
	 * @return String    
	 * @Exception 
	 */
	public static void permutation(char[] s, int index){
		if(index >= s.length){
			System.out.println(new String (s));
		}else{
			//begin 与其后面的字符进行交换
			for(int i=index;i<s.length;i++){
				if(isSwap(s, index, i)){
					swap(s, index, i);
					permutation(s, index+1);
					swap(s, index, i);
					
				}
			}
		}
	}
	
	public static void swap(char[] s,int i, int j){
		char temp = s[i];
		s[i] = s[j];
		s[j] = temp;
	}

}
参考:http://blog.csdn.net/hackbuteer1/article/details/7462447
 



© 著作权归作者所有

共有 人打赏支持
哭哭吓唬你
粉丝 3
博文 99
码字总数 39553
作品 0
石景山
程序员
私信 提问
STL系列之十 全排列(百度迅雷笔试题)

全排列在笔试面试中很热门,因为它难度适中,既可以考察递归实现,又能进一步考察非递归的实现,便于区分出考生的水平。所以在百度和迅雷的校园招聘以及程序员和软件设计师的考试中都考到了,...

长平狐
2012/12/10
75
0
确定某字符串的所有排列组合

/** * 功能:确定某字符串的所有排列组合。 / 注意:不考虑重复字符。若考虑重复字符,只需在加入permulations时去掉重复的字符串即可。 [java] view plain copy /* * 思路:元素由少到多,将...

一贱书生
2016/11/22
4
0
STL系列之十 全排列(百度迅雷笔试题)

全排列在笔试面试中很热门,因为它难度适中,既可以考察递归实现,又能进一步考察非递归的实现,便于区分出考生的水平。所以在百度和迅雷的校园招聘以及程序员和软件设计师的考试中都考到了,...

彭博
2012/04/12
480
0
剑指Offer-29-字符串的排列

题目 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 注意:字符可能重复! 比如,a...

SpecialYang
07/23
0
0
全排列输出(递归实现)

全排列是一种比较常用的算法。本文给出递归实现的两个方法。 方法一 思想 处理递归的时候,采用两个字符串变量,一个存放固定前缀,一个 存放剩下的待处理的字符串。如: 固定前缀prefix的初...

王孟君
2016/10/22
220
0

没有更多内容

加载失败,请刷新页面

加载更多

deepin中配置robot framework环境

本文永久更新地址:https://my.oschina.net/bysu/blog/2989005 【若要到岸,请摇船:开源中国 不最醉不龟归】 1.在终端中输入pip,回车,如果提示没有该命令,则先安转pip sudo apt-get inst...

不最醉不龟归
14分钟前
1
0
OSChina 周日乱弹 —— 钱不还,我就当你人不在了

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @莱布妮子 :分享Bigleaf的单曲《小鹿》 《小鹿》- Bigleaf 手机党少年们想听歌,请使劲儿戳(这里) 周日在家做什么? 做手工呀, @poorfis...

小小编辑
今天
74
3
EOS docker开发环境

使用eos docker镜像是部署本地EOS开发环境的最轻松愉快的方法。使用官方提供的eos docker镜像,你可以快速建立一个eos开发环境,可以迅速启动开发节点和钱包服务器、创建账户、编写智能合约....

汇智网教程
今天
20
0
《唐史原来超有趣》的读后感优秀范文3700字

《唐史原来超有趣》的读后感优秀范文3700字: 作者:花若离。我今天分享的内容《唐史原来超有趣》这本书的读后感,我将这本书看了一遍之后就束之高阁了,不过里面的内容一直在在脑海中回放,...

原创小博客
今天
29
0
IC-CAD Methodology知识图谱

CAD (Computer Aided Design),计算机辅助设计,指利用计算机及其图形设备帮助设计人员进行设计工作,这个定义同样可以用来近似描述IC公司CAD工程师这个岗位的工作。 早期IC公司的CAD岗位最初...

李艳青1987
今天
33
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部