`

<找工作 九> 字符串全排列问题

 
阅读更多

public class StringTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		char a[]="abcde".toCharArray();
		perm(a,0,a.length);

	}
	public static void perm(char a[],int start ,int end){
		char t='a';
		if(start==end){
			System.out.println(new String(a));
		}else{
			for(int i=start;i<end;i++){
				t=a[start];
				a[start]=a[i];
				a[i]=t;
				perm(a,start+1,end);
				a[i]=a[start];
				a[start]=t;
				
			}
			
			
		}
	}

}
 有点意思,其实不难,但是代码比较有意思
分享到:
评论

相关推荐

    C#编程经验技巧宝典

    76&lt;br&gt;&lt;br&gt;0111 计算字符串中子字符串出现的次数 76&lt;br&gt;&lt;br&gt;0112 获得字符串中大写字母的个数 77&lt;br&gt;&lt;br&gt;0113 获得某字符在字符串中最后出现的位置 78&lt;br&gt;&lt;br&gt;0114 如何找出字符串中某一字符的所有位置 78...

    数据结构-字符串.pptx

    3. **字符串全排列**:是指将字符串中的所有字符进行所有可能的排列组合。例如,字符串"abc"的所有全排列为"abc", "acb", "bac", "bca", "cab", "cba"。全排列通常采用递归或回溯法解决。 4. **KMP算法**:是一种...

    python 数据结构 算法 LeetCode 牛客 面试 编程之美 动态规划 字典树 快速排序 树 字符串 数组 链表 全排列

    树 * 字典树 * 遍历-层次遍历 * 遍历-中序遍历-非递归 * 遍历-前序遍历-非递归 * 遍历-后序遍历-非递归 * 二叉查找树-两数之和 ...数组&字符串 查找排序 排列组合 动态规划 树 链表 数学 位运算 编程之美

    js-FCC算法-No repeats please字符串的全排列(详解)

    在这篇文章中,作者详细介绍了如何使用JavaScript实现FCC算法中的"No repeats please"问题,即编写一个程序来找出一个字符串的所有排列组合,但排除掉那些含有连续重复字符的排列。这个算法的核心在于对字符串进行...

    重复元素全排列

    这种算法常用于密码学、数据加密以及计算机科学中的各种组合优化问题,例如在处理含有重复字母的字符串时,找出所有可能的重组方式。 #### 知识点二:算法实现原理 在Java中实现重复元素全排列,通常采用递归的...

    荣政课本第四章算法题思路1

    4-23题要求遍历字符串s的每个字符,与字符串t的每个字符进行比较,这是典型的字符串全排列匹配问题。 4-25题涉及到二维数组的处理。定义两个一维数组min和max,分别存储二维数组A的每一行的最小元素和每一列的最大...

    python常规方法实现数组的全排列

    然后将输入的字符串转换为整数列表,并调用`perm`函数输出所有全排列。 在实际应用中,全排列问题可以用于各种场景,例如生成所有可能的密码组合、解决组合优化问题或在组合数学中分析可能的事件序列。了解如何有效...

    程序员笔试面试题库文档

    3. 字符串全排列(迅雷笔试题):这道题涉及到经典的全排列问题,考生需掌握递归或回溯法解决这类问题,理解如何生成一个字符串的所有可能排列。 4. 某大公司的两道笔试题:此类题目可能涵盖动态规划、贪心策略、...

    8.《代码随想录》回溯算法(V3.0).pdf

    - **切割问题**: 如何根据特定规则切割一个字符串。 - **子集问题**: 找出N个数的集合中所有满足条件的子集。 - **排列问题**: N个数按照一定规则的全排列。 - **棋盘问题**: 包括N皇后问题、解数独等问题。 #### ...

    程序员编程艺术第一~三十七章集锦by_July

    - **字符串处理**:左旋转字符串、字符串是否包含问题。 - **算法实现**:TopK算法、快速选择SELECT算法、寻找数组中给定下标区间内的第K小(大)元素。 - **经典问题解法**:类似strstr/strcpy/strpbrk的函数实现、...

    程序员编程艺术 第一~二十七章集锦与总结

    - **内容概述**:模拟C语言标准库中的几个典型函数,如strstr(字符串查找)、strcpy(字符串复制)和strpbrk(字符串搜索),并通过手动实现加深理解这些函数的工作原理及其背后的内存管理机制。 #### 第二部分:...

    程序员编程艺术--共二十七章-集锦与总结(教你如何编程)

    - **第二章:字符串是否包含及相关问题扩展** - 讨论如何判断一个字符串是否包含另一个字符串。 - 探讨相关问题的扩展,如字符串匹配算法。 - **第三章:寻找最小的k个数** - 解决如何从一个数组中找出最小的k个...

    经典面试题目六道C++

    ### 经典面试题目六道C++解析 #### 第一题:求数组中的最大...以上六道题涵盖了 C++ 中的一些基本概念和技术点,通过对这些题目的解答和理解,可以帮助求职者更好地掌握 C++ 的基础知识,并提高实际解决问题的能力。

    中外知名企业面试题目之IBM

    - 学习并掌握递归算法或回溯算法来实现字符串的全排列。 - 考虑优化算法的时间复杂度,避免在大规模数据集上出现性能瓶颈。 #### 题目二:数字逻辑推理 题目中涉及了数字之间的逻辑关系,如“1至30中的某个数字被...

    程序员面试攻略 part1(共2个)

    6.2 面试例题:字符串的全排列93 6.3 面试例题:字符串的全组合98 6.4 面试例题:电话键单词101 第7章其他程序设计问题109 7.1 计算机图形109 7.2 位操作符110 7.3 结构化查询语言112 7.4 并发程序设计技术...

    程序员面试攻略part 2(共2个)

    6.2 面试例题:字符串的全排列93 6.3 面试例题:字符串的全组合98 6.4 面试例题:电话键单词101 第7章其他程序设计问题109 7.1 计算机图形109 7.2 位操作符110 7.3 结构化查询语言112 7.4 并发程序设计技术...

    微软、谷歌、百度等公司经典面试100题[第101-170题].pdf

    对于一个字符串,假设它的长度为n,那么可以固定第一个字符,对剩下的n-1个字符进行全排列,然后再固定第二个字符,以此类推。 **4. 内存分配函数与字符串复制** - **题目描述**:实现类似于`malloc()`的功能以及...

    华为2014年上机题

    首先,需要将输入的字符串解析成二叉树结构,这里涉及字符串处理和树的构建。可以使用栈或者递归的方式来解析字符串并建立树。之后,通过遍历二叉树来找到指定节点的深度。样例输入为`a1b2c2d3e3f3`和`ab`,对应的...

    递归特训(共11道题)1204.pdf

    4. **字符串中的最大整数**:从一个字符串中找出最大的整数。首先,删除字符串开头的非数字字符,然后比较字符串段的大小,选择较大的作为结果。可以利用辅助函数`bj`来比较两个子串表示的数字大小。 接下来的题目...

Global site tag (gtag.js) - Google Analytics