标准的排序组合-算法

题目

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

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

相关推荐
NAGNIP6 小时前
轻松搞懂全连接神经网络结构!
人工智能·算法·面试
NAGNIP6 小时前
一文搞懂激活函数!
算法·面试
董董灿是个攻城狮7 小时前
AI 视觉连载7:传统 CV 之高斯滤波实战
算法
爱理财的程序媛13 小时前
openclaw 盯盘实践
算法
MobotStone16 小时前
Google发布Nano Banana 2:更快更便宜,图片生成能力全面升级
算法
颜酱20 小时前
队列练习系列:从基础到进阶的完整实现
javascript·后端·算法
用户57573033462420 小时前
两数之和:从 JSON 对象到 Map,大厂面试官到底在考察什么?
算法
程序猿追20 小时前
“马”上行动:手把手教你基于灵珠平台打造春节“全能数字管家”
算法
ZPC82101 天前
docker 镜像备份
人工智能·算法·fpga开发·机器人