标准的排序组合-算法

题目

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

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

相关推荐
码农三叔3 分钟前
(7-3)自动驾驶中的动态环境路径重规划:实战案例:探险家的行进路线
人工智能·算法·机器学习·机器人·自动驾驶
飞Link16 分钟前
【Water】数据增强中的数据标注、数据重构和协同标注
算法·重构·数据挖掘
漫随流水25 分钟前
leetcode算法(559.N叉树的最大深度)
数据结构·算法·leetcode·二叉树
池塘的蜗牛26 分钟前
NR PDSCH和CSI 正交导频设计
算法
CoovallyAIHub1 小时前
仅192万参数的目标检测模型,Micro-YOLO如何做到目标检测精度与效率兼得
深度学习·算法·计算机视觉
sali-tec1 小时前
C# 基于OpenCv的视觉工作流-章10-中值滤波
图像处理·人工智能·opencv·算法·计算机视觉
爱编程的小吴1 小时前
【力扣练习题】151. 反转字符串中的单词
java·算法·leetcode
3***g2051 小时前
MATLAB高效算法设计原则利用MATLAB内置函数
开发语言·算法·matlab
雍凉明月夜1 小时前
深度学习之目标检测yolo算法Ⅰ(v1-v3)
深度学习·算法·yolo·目标检测