标准的排序组合-算法

题目

有若干个字母,要求计算出长度为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();
    }
  }

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

相关推荐
AllData公司负责人3 小时前
亲测丝滑,体验跃迁|AllData通过集成开源项目RustFS,多模态数据存储新范式
java·大数据·数据库·算法·数据分析·rustfs
磊 子3 小时前
AVL树的讲解
数据结构·算法
Trouvaille ~4 小时前
【Redis篇】Hash 哈希:字段级操作与对象存储的最佳实践
数据库·redis·后端·算法·缓存·哈希算法·键值对
悠仁さん4 小时前
数据结构 树 二叉树 堆 (链式二叉树模拟实现篇)
数据结构·算法
z200509304 小时前
今日算法(带回文问题的回溯)
算法·leetcode·回溯
洛水水4 小时前
【力扣100题】55.编辑距离
算法·leetcode·动态规划
洛水水4 小时前
【力扣100题】62.滑动窗口最大值
数据结构·算法·leetcode
IronMurphy4 小时前
算法五十一 64. 最小路径和
算法
醒醒该学习了!4 小时前
Prompt提示词——带有深度思考模型的提示方法(理论篇)
人工智能·算法·prompt
君为先-bey4 小时前
Latte——视频生成的潜在扩散变换器
算法·机器学习·音视频·扩散模型