package 全排列;
import java.util.ArrayList;
public class Main {
private static ArrayList<String> a = new ArrayList<String>();
public static void main(String[] arg){
String[] ss = {"1","2","3","4","5","6","7","8","9"};
long begin = System.currentTimeMillis();
pailie(0,ss.length-1,ss);
for(int i=0;i<a.size();i++){
System.out.println(a.get(i)+" ");
}
long end = System.currentTimeMillis();
System.out.println((end-begin)/1000f+"秒");
}
public static void pailie(int start,int end,String[] ss){
if(start==end){
String s="";
for(int i=0;i<ss.length;i++){
s+=ss[i];
}
a.add(s);
}
for(int i=start;i<=end;i++){
String index=ss[start];
ss[start]=ss[i];
ss[i]=index;
pailie(start+1,end,ss);
index=ss[start];
ss[start]=ss[i];
ss[i]=index;
}
}
}
分享到:
相关推荐
用递归实现的全排列的源程序,比较精简。当时想了好久
### 基础算法题目精简集合解析 #### 第一章 循环控制 ##### 题目1:输出特定格式的菱形 - **题目描述**:输入一个奇数`n`,输出一个对角线长度为`n`的实心或空心菱形图案。 - **解题思路**: - 使用双重循环结构...
MIPS是一种精简指令集计算机(RISC)架构,广泛用于教学和嵌入式系统。它的指令集设计简洁,易于理解,是学习计算机体系结构和底层编程的理想工具。在MIPS汇编语言中,程序员直接控制硬件资源,如寄存器、内存和算术...
解题策略可以是先对数字进行全排列,然后筛选出所有可能的三位数,再找出其中的最大值。由于数字范围较小,可以使用回溯法或动态规划来生成所有可能的三位数组合,最后返回最大值。样例输入和输出分别是`1 2 3 4 5 6...
重叠寄存器技术主要用于解决RISC(精简指令集计算机)系统中,CALL指令的现场保护问题,以保持程序状态并在调用子程序后正确恢复。 4. 为使流水线计算机运行效率高,应保证什么? 连续处理的任务类型应该相同,以...
3. 重叠寄存器技术主要用于解决RISC(精简指令集计算机)系统中因CALL指令的现场保护导致的问题。CALL指令通常用于调用子程序,需要保存现场信息以备恢复,重叠寄存器可以提高这种操作的效率。 4. 使流水计算机运行...
简答题涉及寻址方式在指令中的指明方式及其优缺点、RISC(精简指令集计算机)的优势和不足、全排列网络的含义及其构建方式、中断分级的原因和方法,以及机群系统相对于传统并行处理系统的优点。 最后,简单应用题...
简答题部分如寻址方式的优缺点、RISC(精简指令集计算机)的优缺点、全排列网络的实现方式、中断分级的原因和方法,以及机群系统相对于传统并行处理系统的优点,都是计算机系统结构中的重要概念,需要详细阐述。...
3. 重叠存放器技术常用于RISC(精简指令集)系统中,以解决由于JMP(跳转)指令对流水线的影响,保证指令执行的连续性和效率。 4. 为了使流水计算机运行效率高,连续处理的任务类型应尽可能一致,这样可以更好地...
- **RISC**:精简指令集计算机,通过减少指令数量和简化指令功能来提高执行效率和简化硬件设计。 ### 输入输出与存储体系 - **数据宽度**:I/O设备一次传输的数据量,影响数据传输效率。 - **存储体系**:多层次的...
##### 2.5、素数表精简 对于较大范围内的素数筛选,可以使用更高效的筛法,例如线性筛法。 ##### 2.6、N阶乘最后非0位 这个问题可以通过分析因子的构成来求解。 ##### 2.7、约瑟夫环 约瑟夫环是一种典型的环形...
3. **Pairwise算法剔除无效测试用例**:通过对比每一对测试用例的两两组合,去除那些重复的组合,最终得到一个精简后的测试用例集合。 ##### 二、代码实现 下面是具体的Python代码实现: ```python from ...