qhl7758258 2016-12-25 06:26 采纳率: 100%
浏览 1029
已采纳

java排列组合算法相关问题

现有:
AB
C
DE
F
如获得ACDF ACEF BCDE BCEF的 java算法

  • 写回答

2条回答 默认 最新

  • miaoch 2016-12-26 01:34
    关注
    public class TestMain {
    private static int size;
    public static void main(String args[]) throws Exception {
        char [][] data = new char[][]{
                {'A', 'B'},
                {'C'},
                {'D', 'E'},
                {'F'}
        };
        int length = 1;
        for (int i=0; i<data.length; i++) {
            length *= data[i].length;
        }
        String[] result = new String[length];
        setString(data, 0, "", result);
        for (int i=0; i<length; i++) {
            System.out.println(result[i]);
        }
    }
    
    private static void setString(char[][] data, int curIndex, String string, String[] result) {
        if (data.length == curIndex) {
            result[size++] = string;
        } else {
            for (int j=0; j<data[curIndex].length; j++) {
                setString(data, curIndex+1, string + data[curIndex][j], result);
            }
        }
    }
    

    }

    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 关于IMageEnView 图标定位问题
  • ¥20 求解答(matlab)
  • ¥30 ffmpeg库使用过程中遇到的问题
  • ¥15 pyqt5 中python如何通过Qtwebchannel主动发消息给web前端
  • ¥15 关于HTML中title获取xml内容的问题
  • ¥15 fanuc机器人PRIO083数字信号未复原错误,如何解决?
  • ¥20 如何为现有电路板增加远程控制功能
  • ¥15 C#点击按钮的时候的循环次数就是最后一次,如何是循环第几次的值?
  • ¥15 UE5打包失败,求解决
  • ¥15 请问STM32G431的CANOPEN协议函数怎么写