在二维数组中获取所有组合

时间:2019-04-15 17:29:46

标签: java arrays recursion 2d

我得到了一个带有数字的int数组,我需要在2d数组中列出所有组合。

例如,如果im给定一个(1,2)的整数数组,则组合为 (0,1) (1,0) (1,2) (0,2) (1,1)

我需要将它们放在二维数组中,例如:

(0,1)
(1,0)
(1,2)

,依此类推。 为什么我的代码不起作用?有什么建议吗?

public static int[][] getCombinations(int[] choices) {

    int size = choices.length;

    int combos = 0;

    int[][] options = new int [size][combos];


    if (size == 1) {
        options[combos][0] = 1;      
    }else {

        for (int j = 0; j < size; j++) {

            choices[j] = j -1;              
            getCombinations(choices);                
            choices[j] = j+1;
        } 
    } 
    return options;
}

0 个答案:

没有答案