dabocaiqq
dabocaiqq
2020-07-21 16:04
采纳率: 66.6%
浏览 133

高分悬赏:Java语言怎么输出m个数字里选出n个数字的全部的排列组合,一行输出1个

高分悬赏:Java语言怎么输出m个数字里选出n个数字的全部的排列组合,一行输出1个

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • huazhan321
    已采纳

    有一种专门的排列组合算法可以了解一下。https://www.iteye.com/blog/liyuandong-737756

    点赞 评论
  • wzy_168
    Happywzy~ 2020-07-21 17:13
        public static Stack<Integer> stack = new Stack<Integer>();
        public static void main(String[] args) {
            int[] m = {1, 2, 3, 4, 5, 6};
            int n = 3;
            f(m, n, 0, 0);
        }
        private static void f(int[] shu, int targ, int has, int cur) {
            if (has == targ) {
                System.out.println(stack);
                return;
            }
            for (int i = cur; i < shu.length; i++) {
                if (!stack.contains(shu[i])) {
                    stack.add(shu[i]);
                    f(shu, targ, has + 1, i);
                    stack.pop();
                }
            }
        }
    
    点赞 评论

相关推荐