一道java算法面试题(200分)

liguangwen86 2011-10-09 05:09:12
给定整数n(0<n),求1-n的全排列,例如给定2,全排列为12、21 .给定3,全排列为123、132、213、231、312、321

...全文
234 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
聖炁丗 2011-10-09
  • 打赏
  • 举报
回复
来取经!得好好看看! 谢谢楼主!
wtc860104 2011-10-09
  • 打赏
  • 举报
回复
高中排列组合的题目
阳明 to life 2011-10-09
  • 打赏
  • 举报
回复
今天早上就笔试了什么排列和组合的 现在就不想再写了。。。
wuhuipengwhp 2011-10-09
  • 打赏
  • 举报
回复
/**
* 输出全排列所有项
*
* @author Administrator
*/
public class GroupSort {
/**
* 0~10之间排列组合所需数组
*/
private static Integer[] base = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };

/**
* 根据给定大小创建标识数组
* @param len
*/
public static void printAll(Integer len) {
base = new Integer[len];
for (int i = 0; i < len; i++) {
base[i] = (i + 1);
}
check(base, 0, base.length-1);
}

/**
* 排列组合
* @param base
* @param start
* @param end
*/
public static void check(Integer[] base, int start, int end) {
if (start == end) {
System.out.print("[");
for (int i = 0; i <= end; i++) {
if(i==end){
System.out.print(base[i]);
}else{
System.out.print(base[i]+",");
}
}
System.out.println("]");
} else {
for (int i = start; i <= end; i++) {
Integer temp = base[start];
base[start] = base[i];
base[i] = temp;
check(base, start + 1, end);
temp = base[start];
base[start] = base[i];
base[i] = temp;
}
}
}

/**
* 测试
*
* @param args
*/
public static void main(String[] args) {
//计算量过大,建议测试数据不要超过5
//printAll(new java.util.Random().nextInt(10));
printAll(3);
}
}
孟祥月 2011-10-09
  • 打赏
  • 举报
回复
递归,我这里有用C++写的,楼主研究下自己改成java的不懂空间留言问我
#include<iostream>
using namespace std;

void perm(int list[],int k,int m)
{
if(k==m)
{
for(int i = 0;i<=m;i++)
cout<<list[i];
cout<<endl;
}
else
for(int i = k;i<=m;i++)
{
swap(list[k],list[i]);
perm(list,k+1,m);
swap(list[k],list[i]);
}
}

inline void swap(int &a,int &b)
{
int temp;
temp = a;
a = b;
b = temp;
}
int main()
{
int list[]={1,2,3};//楼主稍微把这里改一下这个是1、2、3全排列
perm(list,0,2);

return 0;

}
liguangwen86 2011-10-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zl3450341 的回复:]

懒得写了,搜了一个给你。参考一下:

http://blog.csdn.net/sunyujia/article/details/4124011
[/Quote]
搜就没意思了,你自己写写多好!
liguangwen86 2011-10-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zl3450341 的回复:]

懒得写了,搜了一个给你。参考一下:

http://blog.csdn.net/sunyujia/article/details/4124011
[/Quote]

呵呵,答案我也知道,我就想让大家锻炼锻炼!或者有什么更牛的算法,可以供大家参考参考,效率越高越好
shine333 2011-10-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zl3450341 的回复:]

就是一个全排列算法。

知道个数为 n

那么,就用递归,每次取最左边的一位数,然后将这位数仍次往右边移。
[/Quote]
+1,递归,把前缀传进去,向上返回这个前缀下的所有结果。
zl3450341 2011-10-09
  • 打赏
  • 举报
回复
懒得写了,搜了一个给你。参考一下:

http://blog.csdn.net/sunyujia/article/details/4124011
zl3450341 2011-10-09
  • 打赏
  • 举报
回复
就是一个全排列算法。

知道个数为 n

那么,就用递归,每次取最左边的一位数,然后将这位数仍次往右边移。
史上最全的android和java面试文档集。包括有: java程序员面试宝典.txt Java面试宝典2011版-1C,Java基础部.doc 三大框架面试题.zip 技术面试题.zip Android笔试题库 C语言终极面试宝典.doc Java笔试题目汇总.pdf Java面试宝典_2010.doc 面试全攻略100题.doc 智力题和答案.doc C语言面试题大汇总.doc 计算机专业必备笔试面试锦囊.doc 笔试.rar 面试题集合.zip C语言面试题大汇总1.doc 面试题集合 java面试题 JAVA面试题集合(项目2部).chm 华为笔试题大全(史上最齐全).doc JAVA题库.doc java面试题.zip Java面试宝典2011版-1A,Java基础部.doc jsp笔试题全集.doc Java学习笔记(必看经典).doc android和java面试大全.rar JAVA精华.doc JAVA经典算法50题1.doc Android笔试题库.rar Java面试宝典2011版-1B,Java基础部.doc Java工程师试题(机构招聘)20100526.doc C语言面试题大汇总面试题及答案.doc Java23种设计模式(总结)1.doc JAVA_WEB面试笔试题.doc 实施人员初试题20091009.doc 笔试智力题.doc C语言面试题.doc 2011android面试题目及其答案大全.doc java基础笔试题.doc 安卓鄙视题附答案.txt 史上最全的android面试题库.docx android工程师笔试试卷.doc Android面试题(详细答案).doc Android内测题.doc Java面试题2.doc JAVA面试题80页.doc 智力题.doc JAVA 综合面试题.pdf 类后的葵花宝典 葵花宝典.doc 九阴真经.doc Java面试题1.doc 葵花宝典-数据库类.doc JAVA面试题集锦.doc Java程序员,面试必读.txt 软通动力招聘测试题.doc java面试葵花宝典.doc 新建 文本文档 (2).txt 125条常见的JAVA面试题.doc NET易筋经.doc 葵花宝典-Java Web类.doc 葵花宝典-基础类.doc 葵花宝典-数据库类1.doc 技术测评java.doc 技术测评.net.doc 瑞星笔试题(15道).doc 汉端笔试题(7页).doc 一道测试notepad笔试题.doc 奇虎面试题.doc 喜安科 面试题.doc 北京博彦科技笔试+面试.doc 清华同方开发的面试题 (有兴趣的看一下了 !) 中软的面试题(转贴).doc 亚控科技比试题.doc 神州泰岳测试试题(笔试)转贴.doc 一家通讯公司的面试题目.doc 软件测试工程师试题发布版.doc 某公司的面试试题.doc 一个外包测试公司的笔试题!.doc 时力科技面试题.doc 合力金桥的笔试题.doc 一道数据库的笔试题目.doc 传视数码公司的面试题.doc 美国英网软件公司题目.doc 软件测试工程师测试试题大集合(二)包括答案.d 波尔世通的笔试+面试.doc 瓦瑟笔试题(限男性).doc 软通动力面试笔答.doc 常见的测试题(转贴).doc 北京大学计算机科学技术研究所.doc 联合网视面试题.doc 缺陷的等级划,一个经常被问到的问题.doc 软件测试工程师笔试试题(大集合).doc 千像互动的笔试.doc 2012java面试题析大全.doc JAVA面试题集合(项目2部).chm JAVA经典算法50题1.doc Java工程师试题(机构招聘)20100526.doc Java23种设计模式(总结)1.doc 实施人员初试题20091009.doc 框架图.png struts面试题 hibernate面试题 三大框架.txt JAVA题库.doc

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧