相关疑难解决方法(0)

生成给定字符串的所有排列

找到字符串的所有排列的优雅方法是什么.是的ba,会是baab,但是怎么样abcdefgh?是否有任何Java实现示例?

java algorithm

404
推荐指数
13
解决办法
54万
查看次数

从数组中获取大小为n的所有组合的算法(Java)?

现在我正在尝试编写一个带有数组和整数n的函数,并给出每个大小为n的组合的列表(所以是int数组的列表).我能够使用n个嵌套循环编写它,但这仅适用于特定大小的子集.我无法弄清楚如何推广它适用于任何大小的组合.我想我需要使用递归?

这是3个元素的所有组合的代码,我需要一个适用于任意数量元素的算法.

import java.util.List;
import java.util.ArrayList;

public class combinatorics{
    public static void main(String[] args) {

        List<int[]> list = new ArrayList<int[]>();
        int[] arr = {1,2,3,4,5};
        combinations3(arr,list);
        listToString(list);
    }

    static void combinations3(int[] arr, List<int[]> list){
        for(int i = 0; i<arr.length-2; i++)
            for(int j = i+1; j<arr.length-1; j++)
                for(int k = j+1; k<arr.length; k++)
                    list.add(new int[]{arr[i],arr[j],arr[k]});
    }

    private static void listToString(List<int[]> list){
        for(int i = 0; i<list.size(); i++){ //iterate through list
            for(int j : list.get(i)){ //iterate through array
                System.out.printf("%d ",j);
            }
        System.out.print("\n");
        } …
Run Code Online (Sandbox Code Playgroud)

java combinations combinatorics

28
推荐指数
2
解决办法
6万
查看次数

标签 统计

java ×2

algorithm ×1

combinations ×1

combinatorics ×1