参考代码:
import java.util.Arrays; import java.util.Scanner; public class Main { public static int c=0; public static String p; public static int[] book; public static void main(String[] args) { Scanner scanner=new Scanner(System.in); p=scanner.next(); char arr[]=p.toCharArray(); book=new int[p.length()]; Arrays.sort(arr); dfs(arr, ""); } public static void dfs(char[] arr,String str){ if (str.length() > arr.length) { return; } if (str.length()==arr.length) { c++; if (str.equals(p)) { System.out.println(c-1); } return; } for (int i = 0; i < arr.length; i++) { if (book[i]==0) { book[i]=1; dfs(arr, str+arr[i]); book[i]=0; } } } }
0.0分
1 人评分
C语言训练-求函数值 (C语言代码)浏览:917 |
C语言训练-阿姆斯特朗数 (C语言代码)浏览:851 |
模拟计算器 (C语言代码)浏览:891 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:867 |
C语言训练-求函数值 (C语言代码)浏览:580 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:661 |
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:373 |
模拟计算器 (C++代码)浏览:806 |
1048题解(读入回车问题)浏览:563 |
单词个数统计 (C语言代码)浏览:1012 |