社区
Java SE
帖子详情
100分求解java中字母全排列的问题,在线等
junxi
2004-11-26 12:39:19
就是输入abc,显示结果为abc,acb,bac,bca,cba,cab
我是初学者,只会用JAVA
...全文
243
11
打赏
收藏
100分求解java中字母全排列的问题,在线等
就是输入abc,显示结果为abc,acb,bac,bca,cba,cab 我是初学者,只会用JAVA
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
FutureStonesoft
2004-11-28
打赏
举报
回复
//算法就是treeroot(根根)的
//Pailie.java
import java.util.*;
import java.io.*;
public class Pailie
{
static List arrange(String s)
{
if ((s==null)||(s.length()==0)) throw new IllegalArgumentException();
int len=s.length();
List list=new ArrayList();
if(len==1) {
list.add(s);
return list;
}
char c=s.charAt(0);
List temp=arrange(s.substring(1));
StringBuffer sb=new StringBuffer(len);
for(int i=0;i<temp.size();i++){
for(int j=0;j<len;j++){
sb.setLength(0);
sb.append((String)temp.get(i));
sb.insert(j,c);
list.add(sb.toString());
}
}
return list;
}
public static void main(String[] args) throws IOException
{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.print("Please input a string:");
String str=br.readLine();
List l=arrange(str);
for(int i=0;i<l.size();i++)
{
System.out.println(l.get(i));
}
}
}
junxi
2004-11-28
打赏
举报
回复
怎么没有人回答了,问题还没有解决啊!
谁把楼上的递归测试的原代码贴出来,分全部献上,不够可以再加100
在线等待,急啊
treeroot
2004-11-26
打赏
举报
回复
如果有10个字符我运行时就 OutOfMemoryError了.
效率比较差
treeroot
2004-11-26
打赏
举报
回复
用递归实现的:
static List arrange(String s){
if ((s==null)||(s.length()==0)) throw new IllegalArgumentException();
int len=s.length();
List list=new ArrayList();
if(len==1) {
list.add(s);
return list;
}
char c=s.charAt(0);
List temp=arrange(s.substring(1));
StringBuffer sb=new StringBuffer(len);
for(int i=0;i<temp.size();i++){
for(int j=0;j<len;j++){
sb.setLength(0);
sb.append((String)temp.get(i));
sb.insert(j,c);
list.add(sb.toString());
}
}
return list;
}
junxi
2004-11-26
打赏
举报
回复
你是怎么测试的啊?能否把你的测试代码让我参考一下,待会分全给你!
我现在被搞糊涂了!!~~~~~~~~~
taoyi
2004-11-26
打赏
举报
回复
使用SortedSet~
sirfei
2004-11-26
打赏
举报
回复
用循环进行连接
catblue
2004-11-26
打赏
举报
回复
把输入的字符串拆成数组,然后用循环进行连接
treeroot
2004-11-26
打赏
举报
回复
真呀晕,除了没有倒入java.util.*;之外我实在想不出怎么会出错。
只要会写HelloWorld就没有问题
junxi
2004-11-26
打赏
举报
回复
to:treeroot(根根)
你测试这个方法的原代码可以让我看一下吗?
谢谢
我测试的时候总是出错,哎!!~~~~~~~~~~
eikoor
2004-11-26
打赏
举报
回复
如果输出aaa呢?是只输出一个aaa吗?也就是说去掉重复的?
matlab常微
分
方程
求解
matlab常微
分
方程
求解
,通过编程实战掌握具体应用。包括matlab常微
分
方程
求解
前、matlab常微
分
方程
求解
中
、matlab常微
分
方程
求解
后。
java
实现四种递归方法解决
全排列
问题
(前缀法,插入法,交换法,选择法
java
实现四种递归方法解决
全排列
问题
(前缀法,插入法,交换法,选择法)
全排列
问题
说在前面1.前缀法插入法交换法选择法
全排列
问题
全排列
是一个典型的递归
问题
,可以当作递归学习的入门
问题
。不了解什么是
全排列
...
Java
回溯算法
全排列
_前端程序员学好算法系列(九)递归回溯算法
回溯算法主要应用于树形
问题
,我们先从一个简单的算法入手17. 电话号码的
字母
组合给定一个仅包含数字 2-9 的字符串,返回所有它能表示的
字母
组合。给出数字到
字母
的映射如下(与电话按键相同)。注意 1 不对应任何
字母
...
字符串的排列(
全排列
)——
Java
、回溯法
题目描述输入一个字符串,按字典序打印出该字符串
中
字符的所有排列。...Solution:从这张图
中
,我们可以看出来,找
全排列
类似于深度优先遍历,深度优先最关键的就是要记住上一个状态,而所谓回溯就是要回到上一没...
【
全排列
问题
】
全排列
问题
解析及其应用(
Java
)
全排列
问题
是一个经典的算法
问题
,需要将所有元素的所有可能的组合全部搜索到,如果集合
中
的元素都都各不相同,则
全排列
一共有 n ! 种组合。 例如:a, b, c 的
全排列
为 abc, acb, bac, bca, cab, cba
全排列
问题
往往...
Java SE
62,614
社区成员
307,326
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章