标准的排序组合-算法

题目

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

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

相关推荐
咚咚王者21 分钟前
人工智能之RAG工程 第一章 RAG 基础与前置知识
人工智能·算法
handler0125 分钟前
【算法模板】最小生成树:稠密图选 Prim,稀疏图选 Kruskal
c语言·数据结构·c++·算法
Chase_______1 小时前
LeetCode 2461 & 1423:定长滑窗变体精讲,从 HashMap 判重到正难则反的转化技巧
算法·leetcode·职场和发展
WL_Aurora1 小时前
【每日一题】二分算法
python·算法
昵称小白1 小时前
子串专题部分
数据结构·算法·哈希算法
H_BB1 小时前
第17届蓝桥杯备战历程
c++·算法·职场和发展·蓝桥杯
anew___2 小时前
算法分析与设计课程全算法核心概述|期末复习+知识梳理
算法
daad7772 小时前
记录一次上下文切换次数的统计
服务器·c++·算法
fliter2 小时前
Cloudflare 推出 Flagship:为 AI 时代重新设计的功能开关服务
后端·算法
生成论实验室2 小时前
《源·觉·知·行·事·物:生成论视域下的统一认知语法》第十七章 科学与人心的重聚
人工智能·算法·架构·知识图谱·创业创新