JAVA蓝桥杯(1)字符排序
来源:互联网 发布:系统优化什么意思 编辑:程序博客网 时间:2024/06/06 14:11
问题描述
算法是这样的,如果给定N个不同字符,将这N个字符全排列,最终的结果将会是N!种。如:给定 A、B、C三个不同的字符,则结果为:ABC、ACB、BAC、BCA、CAB、CBA一共3!=3*2=6种情况。
解决方法
import java.util.Scanner;import java.util.Vector;public class Question1 { public static int total = 0; private static Scanner scanner; private void prem(Vector<Character> source, Vector<Character> result) { if (source.size() == 0) { for (int i = 0; i < result.size(); i++) { System.out.print(result.elementAt(i)); } System.out.println(); total++; return; } for (int i = 0; i < source.size(); i++) { Vector<Character> tsource = new Vector<Character>(source); Vector<Character> tresult = new Vector<Character>(result); tresult.add(tsource.elementAt(i)); tsource.remove(i); new Question1().prem(tsource, tresult); } } public static void main(String[] args) { scanner = new Scanner(System.in); int n = scanner.nextInt(); Vector<Character> source = new Vector<Character>(); Vector<Character> result = new Vector<Character>(); for (int i = 0; i < n; i++) { source.add((char) ('A' + i)); } new Question1().prem(source, result); System.out.println(total); }}
运行结果
3ABCACBBACBCACABCBA6
0 0
- JAVA蓝桥杯(1)字符排序
- java算法--字符组合排序
- Java字符统计并排序
- Java 之 中文字符排序
- Java实现-字符大小写排序
- 【蓝桥杯】【字符排序】
- 将字符串中的字符进行排序(JAVA编写)
- 字符统计1(java)
- java算法之字符组合排序
- Java,Android 中引文字符混合排序
- java-字符串中的字符进行排序
- java 对字符串中的字符自然排序
- 字符排序
- 字符排序
- 字符排序
- 字符排序
- 字符排序
- 字符排序
- 判断是否为回文字符串,逆序输出字符串
- 1214 线段覆盖
- 学习C++ Day1
- 修改数据库密码提示ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
- SVN patch 复制文件问题
- JAVA蓝桥杯(1)字符排序
- CSS学习笔记14:定位
- 基础练习 十六进制转八进制
- C++总结
- 解释黑天鹅乱飞的2016年的几个法则
- Linux系统wget unable to resolve host address解决办法
- 线段树 洛谷P2894 [USACO08FEB]酒店Hotel
- 从元数据表拿数据绑定下拉框的SQL语句写法:
- 不忘初心 方得始终