标准的排序组合-算法

题目

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

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

相关推荐
王老师青少年编程2 分钟前
csp信奥赛C++高频考点专项训练之贪心算法 --【删数问题】:删数问题2
c++·算法·贪心·csp·信奥赛
hanbr3 分钟前
Leetcode刷题总结(1)
算法·leetcode·职场和发展
B站_计算机毕业设计之家3 分钟前
计算机毕业设计:Python股票投资辅助决策系统 django框架 request爬虫 协同过滤算法 数据分析 可视化 大数据 大模型(建议收藏)✅
爬虫·python·深度学习·算法·django·flask·课程设计
_日拱一卒4 分钟前
LeetCode:随机链表的复制
算法·leetcode·链表
菜菜的顾清寒6 分钟前
力扣笔记自用
笔记·算法·leetcode
故事还在继续吗12 分钟前
C++11关键特性
开发语言·c++·算法
zzzsde12 分钟前
【Linux】线程概念与控制(2)线程控制与核心概念
linux·运维·服务器·开发语言·算法
Gh0st_Lx21 分钟前
【8】分类任务原理
算法·分类·数据挖掘
WolfGang00732121 分钟前
代码随想录算法训练营 Day45 | 图论 part03
算法·图论
a里啊里啊23 分钟前
软考-软件评测师:知识点整理(六)——数据结构与算法
数据结构·算法·链表·软考·软件评测师