Unity 递归实现数字不重复的排列组合

server/2024/9/25 23:21:14/

 实现

private void Permutation(List<int> num, int leftIndex, List<string> strs)
{if (leftIndex < num.Count){for (int rightIndex = leftIndex; rightIndex < num.Count; rightIndex++){Swap(num, leftIndex, rightIndex);Permutation(num, leftIndex + 1, strs);Swap(num, rightIndex, leftIndex);}}else{string s = string.Empty;for (int i = 0; i < num.Count; i++){s += num[i].ToString();if (i < num.Count - 1)s += "→";}strs.Add(s);}
}
void Swap(List<int> num, int leftIndex, int rightIndex)
{int temp = num[leftIndex];num[leftIndex] = num[rightIndex];num[rightIndex] = temp;
}

示例

List<int> num = new List<int>() { 1, 2 };
Permutation(num);
num = new List<int>() { 1, 2, 3 };
Permutation(num);private void Permutation(List<int> num)
{List<string> strs = new List<string>();Permutation(num, 0, strs);string strNum = string.Empty;for (int i = 0; i < num.Count; i++){strNum += num[i].ToString();if (i < num.Count - 1)strNum += ",";}Debug.Log(strNum + " 排列组合共 " + strs.Count + " 组");for (int i = 0; i < strs.Count; i++)Debug.Log(strs[i] + "\n");
}

 效果


http://www.ppmy.cn/server/22230.html

相关文章

ssm079基于SSM框架云趣科技客户管理系统+jsp

客户管理系统设计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本客户管理系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处…

Pytorch中保存模型的两种方法

目录 一、保存整个模型二、只保存模型参数 一、保存整个模型 这种方法会保存模型的整个定义&#xff08;包括网络结构和参数&#xff09;。这样保存的模型可以直接被加载并使用&#xff0c;但前提是保存和加载模型的代码环境需要完全一致。 保存模型时使用代码&#xff1a; …

大数据005-hadoop003-了解MR及Java的简单实现

了解MapReduce MapReduce过程分为两个阶段&#xff1a;map阶段、reduce阶段。每个阶段搜键-值对作为输入和输出。 要执行一个MR任务&#xff0c;需要完成map、reduce函数的代码开发。 Hellow World 【Hadoop权威指南】中的以分析气象数据为例&#xff0c;找到每年的最高气温。…

【数据结构与算法(C语言)】1. 线性表的顺序存储

文章目录 前言一. 线性表插入和删除1. 元素的插入2. 元素的删除 二. 代码三. 优缺点 前言 线性表的顺序存储结构&#xff0c;指的是用一段地址连续的存储单元依次存储线性表的数据结构 一. 线性表插入和删除 1. 元素的插入 插入位置之后的数据都向后移一位&#xff0c;上图中元…

HTML5(1)

目录 一.HTML5(超文本&#xff08;链接&#xff09;标记&#xff08;标签<>&#xff09;语言) 1.开发环境&#xff08;写代码&#xff0c;看效果&#xff09; 2.vscode 使用 3.谷歌浏览器使用 4.标签语法 5.HTML基本骨架&#xff08;网页模板&#xff09; 6.标签的…

利用机器学习进行图像分类:以TensorFlow和Keras为例

当使用 TensorFlow 和 Keras 进行图像分类时&#xff0c;常用的方法是使用卷积神经网络&#xff08;Convolutional Neural Network&#xff0c;CNN&#xff09;。以下是一个简单的图像分类示例&#xff0c;使用 TensorFlow 和 Keras 来训练一个 CNN 模型对手写数字进行分类。 …

《微服务设计》读书笔记

此为阅读纽曼《微服务设计》一书后总结的读书笔记&#xff0c;点此处下载PDF文档。 一、微服务的概念 微服务&#xff08;或称微服务架构&#xff09;是一种云原生架构方法&#xff0c;其核心思想在于将单个应用拆分为众多 小型、松散耦合的服务&#xff0c;服务之间均通过网…

使用minikube搭建本地k8s练习环境

官网文档; https://minikube.sigs.k8s.io/docs/start/ 硬件要求&#xff1a; 2 个或更多 CPU2GB 可用内存20GB 可用磁盘空间容器或虚拟机管理器&#xff0c;例如&#xff1a;Docker、QEMU、Hyperkit、Hyper-V、KVM、Parallels、Podman、VirtualBox或VMware Fusion/Workstatio…