| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1008 人关注过本帖
标题:一道面试题
只看楼主 加入收藏
wtuaimmmm
该用户已被删除
收藏
已结贴  问题点数:5 回复次数:2 
一道面试题
提示: 作者被禁止或删除 内容自动屏蔽
搜索更多相关主题的帖子: 面试 
2010-12-08 23:16
linjx0123
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:279
专家分:1362
注 册:2006-4-7
收藏
得分:4 
程序代码:
public class Perm {
    private int[] a = new int[10];
   
    public void init(){
        for(int i=1;i<=9;i++){
            a[i]=i;   
        }
    }
   
    private void printNumber(){
        for(int j=1;j<=9;j++){
            System.out.print(a[j]+" ");
        }
        System.out.println();
    }
   
    public void range(int index){
        if(index==9){
            printNumber();
        }
        else{
            for(int i=index;i<=9;i++){
                int k = index;
                swap(i,k);
                range(k+1);               
                swap(i,k);
            }       
        }
    }
   
    private void swap(int i, int j){
        int temp =a[i];
        a[i]=a[j];
        a[j]=temp;
    }
   
    public static void main(String[] args) {
        Perm p = new Perm();
        p.init();
        p.range(1);
    }
}


简单的全排列问题。用递归或者分治法就可以解决问题。
2010-12-09 09:19
samdingding
Rank: 1
来 自:涿州
等 级:新手上路
帖 子:1
专家分:1
注 册:2010-12-9
收藏
得分:1 
楼上正解,不过还可以加稍一些!全排列稍微有点繁琐

FK ALL
2010-12-09 15:30
快速回复:一道面试题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013697 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved