标准的排序组合-算法

题目

有若干个字母,要求计算出长度为4的所有可能得组合

解题

排序组合最适用的就是回溯了,建议大家本地debug一层一层的看能好理解点

复制代码
private static void getResult(List<String> source, Stack<String> temp, int curLength, int maxLength, List<Stack<String>> result) {
    if (curLength == maxLength) {
      result.add((Stack<String>) temp.clone());
      return;
    }
    for (int i = 0; i < source.size(); i++) {
      if (temp.contains(source.get(i))) {
        continue;
      }
      temp.push(source.get(i));
      getResult(source, temp, curLength + 1, maxLength, result);
      temp.pop();
    }
  }

回溯之所以叫回溯,就是因为他是从尾巴的地方先遍历所有的可能性,然后再往上一层,当然了上一层遍历时还需要再往下一层检查所有的可能性

相关推荐
啊阿狸不会拉杆9 分钟前
《计算机视觉:模型、学习和推理》第 1 章 - 绪论
人工智能·python·学习·算法·机器学习·计算机视觉·模型
Frostnova丶12 分钟前
LeetCode 693. 交替位二进制数
算法·leetcode
_F_y25 分钟前
递归搜索入门
算法
We་ct27 分钟前
LeetCode 101. 对称二叉树:两种解法(递归+迭代)详解
前端·算法·leetcode·链表·typescript
ADDDDDD_Trouvaille31 分钟前
2026.2.18——OJ86-88题
c++·算法
努力学算法的蒟蒻43 分钟前
day89(2.18)——leetcode面试经典150
算法·leetcode·面试
丰海洋1 小时前
Leetcode-hot100-283.移动零
算法·leetcode·职场和发展
s_w.h1 小时前
【 C++ 】搜索二叉树
java·开发语言·c++·算法
俩娃妈教编程1 小时前
2023 年 09 月 二级真题(2)--数字黑洞
c++·算法·while
星火开发设计1 小时前
关联式容器:map 与 multimap 的键值对存储
java·开发语言·数据结构·c++·算法