当前位置: 首页 > news >正文

标准的排序组合-算法

题目

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

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

http://www.lryc.cn/news/292578.html

相关文章:

  • 2402C++,C++递归取各种节点名字
  • Qt 5.9.4 转 Qt 6.6.1 遇到的问题总结(三)
  • Logstash 7.7.1版本安装系统梳理
  • 4. sass实用函数归纳
  • 《元梦之星》赛季更新带来“新”内容,为何却被玩家集体声讨?
  • 故障诊断 | 一文解决,CNN-SVM卷积神经网络-支持向量机组合模型的故障诊断(Matlab)
  • 菜鸡后端的前端学习记录-2
  • Layui + Echarts 5.0
  • linux使用iptables禁用ip
  • 安全防御第五次作业
  • 分库分表原则
  • VUE PC端可拖动悬浮按钮
  • opencv0014 索贝尔(sobel)算子
  • Redis简介和数据类型
  • Day06-Linux下目录命令讲解及重要文件讲解
  • 睿尔曼超轻量仿人机械臂—外置按钮盒使用说明
  • PYTHON蓝桥杯——每日一练(简单题)
  • 【数据结构 01】栈
  • ⑩电子产品拆解分析-家用无线遥控开关433Mhz
  • java之手动创建spring-boot-3项目
  • Linux--redhat9创建软件仓库
  • [力扣 Hot100]Day20 旋转图像
  • golang网络编程day5
  • Swagger学习使用
  • SpringBoot使用poi将word转换为PDF并且展示
  • Java多线程--线程间的通信
  • vue + element 页面滚动计算百分比 + 节流函数
  • 【笔记】React Native实战练习(仿网易云游戏网页移动端)
  • Android SystemUI 介绍
  • 2024美赛数学建模A题思路分析 - 资源可用性和性别比例