第十届蓝桥杯java真题和答案,蓝桥杯历年真题及答案javaB组

第十届蓝桥杯java真题和答案,蓝桥杯历年真题及答案javaB组

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

卡介苗