标准的排序组合-算法

题目

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

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

相关推荐
不知名XL3 分钟前
day20 回溯算法part02
算法
嵌入式进阶行者7 分钟前
【算法】TLV格式解析实例:华为OD机考双机位A卷 - TLV解析 Ⅱ
数据结构·c++·算法
OC溥哥99913 分钟前
Paper MinecraftV3.0重大更新(下界更新)我的世界C++2D版本隆重推出,拷贝即玩!
java·c++·算法
Jayden_Ruan14 分钟前
C++蛇形方阵
开发语言·c++·算法
星火开发设计16 分钟前
C++ map 全面解析与实战指南
java·数据结构·c++·学习·算法·map·知识
执笔论英雄17 分钟前
【RL] advantages白化与 GRPO中 advantages均值,怎么变化,
算法·均值算法
2301_8008951020 分钟前
hh的蓝桥杯每日一题
算法·职场和发展·蓝桥杯
老鱼说AI25 分钟前
现代计算机系统1.2:程序的生命周期从 C/C++ 到 Rust
c语言·c++·算法
仰泳的熊猫27 分钟前
题目1099:校门外的树
数据结构·c++·算法·蓝桥杯
求梦82030 分钟前
【力扣hot100题】反转链表(18)
算法·leetcode·职场和发展