1 .字符排序
算法是这样的。 给定n个不同的字符,如果把这n个字符全部排列起来,最终的结果就是n。 种。 例如,如果指定了a、b和c三个不同的字符,则结果将如下所示:
ABC、ACB、BAC、BCA、CAB、CBA共计3!=3*2=6种情况。
package Question1_9;
import java.util.Scanner;
import java.util.Vector;
公共类查询1 {
public static long count=0;
私有身份验证( vectorcharactersourse,VectorCharacter result ) {
if(sourse.size ( )==0) {
for(intI=0; i result.size (; I ) {
system.out.print ( result.element at ( I ) );
() ) ) ) )。
system.out.print(\’\\n \’ );
出局;
返回;
() ) ) ) )。
for(intI=0; i sourse.size (; I ) {
vectorcharactertsourse=newvectorcharacter ( sourse;
vectorcharactertresult=newvectorcharacter;
tresult.add(sourse.elementat(I ) );
tsourse.remove(I;
new Question1( ).fullpermutation(tsourse,tresult );
() ) ) ) )。
() ) ) ) )。
publicstaticvoidmain ( string [ ] args ) {
sanner scanner=new scanner ( system.in;
int n=scanner.nextInt (;
vectorcharactersourse=newvectorcharacter (;
vectorcharacterresult=newvectorcharacter (;
for(intI=0; i n; I ) {
sourse.add ( ) char ) ) a ) I );
() ) ) ) )。
new Question1( ).fullpermutation(sourse,result );
system.out.println ( question1. count );
klis.size (; k ) {
sb.append(lis.get ) I );
sb.append(lis.get ) j );
sb.append(lis.get ) k );
system.out.println(sb; //输出的组合
sb.Setlength(0; //清空
() ) ) ) )。
() ) ) ) )。
() ) ) ) )。
() ) ) ) )。
publicstaticvoidmain ( string [ ] args ) {
scanners can=new scanner ( system.in );
System.out.println ( \’输入字符串。\’ );
String s=scan.nextLine (;
setcharactersets=newlinkedhashsetcharacter (;
removeduplicate(s,sets; //消除重复因素,放入lis
check(sets; //检测满足条件的元素的组合
() ) ) ) )。
() ) ) ) )。
执行结果:输入字符串。
abcd
哥伦比亚广播公司
abd
acd
卡介苗
自考资料网:建议开通永久VIP超级会员更划算,除特殊资源外,全站所有资源永久免费下载
1. 本站所有网课课程资料来源于用户上传和网络收集,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,助力考生上岸!
3. 如果你想分享自己的经验或案例,可在后台编辑,经审核后发布在“自考资料网”,有下载币奖励哦!
4. 本站提供的课程资源,可能含有水印,介意者请勿下载!
5. 如有链接无法下载、失效或广告,请联系管理员处理(在线客服)!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 星光不问赶路人,岁月不负有心人,不忘初心,方得始终!