c# C(m,n) 排列组合算法
来源:互联网 发布:tomcat下js文件未生效 编辑:程序博客网 时间:2024/05/21 15:48
n从1到m的所有组合:
static void Main(){ string[] arr = new string[] { "a", "b", "c", "d", "e" }; List<string[]> list = new List<string[]>(); foreach (string s in arr) { List<string[]> lst = list.GetRange(0, list.Count); string[] nArr = { s }; list.Add(nArr); foreach (string[] ss in lst) { list.Add(ss.Concat(nArr).ToArray()); } } List<string[]> outList = list.OrderByDescending(p => p.Length).ToList(); outList.ForEach(p => Console.WriteLine(string.Join(",", p)));}
n以内的所有组合:
static void Main(){ string[] arr = new string[] { "a", "b", "c", "d", "e" }; int n = 2;//长度为2以内的所有组合 List<string[]> list = new List<string[]>(); foreach (string s in arr) { List<string[]> lst = list.Where(p => p.Length < n).ToList(); string[] nArr = { s }; list.Add(nArr); foreach (string[] ss in lst) { list.Add(ss.Concat(nArr).ToArray()); } } List<string[]> outList = list.OrderByDescending(p => p.Length).ToList(); outList.ForEach(p => Console.WriteLine(string.Join(",", p)));}
0 0
- c# C(m,n) 排列组合算法
- 算法:排列组合之C(N,M)
- 数学排列组合算法 P(N,M) C(N,M)
- 排列组合 C(n,m)
- 排列组合 C(n,m)
- 排列组合数C(m,n)的O(n)算法
- java排列组合算法(M选N)
- (转) java排列组合算法(n选m)
- hdu 4810 排列组合C(n,m) 数组存
- python实现排列组合公式C(m,n)求值
- hdu 1799 排列组合求C(n,m)+预处理
- 排列组合问题(n取m)
- 组合数算法 C(n,m)(n>=m)
- 算法—递归实现 C(m,n)
- 33选6算法:M个数N个为一组,无重复的排列组合
- [算法] 求排列组合: 从n个数中任选m个数组成一个新数
- 排列组合 A(n, m) 字典序
- 排列组合n选m C++实现
- Java NIO系列教程(三) Buffer
- ZigBee初探
- webfont 平台推荐
- 完美世界手游《圣斗士星矢》lua逻辑框架分析
- Python装饰器有趣实例探究
- c# C(m,n) 排列组合算法
- 【算法】快速排序法:Quicksort
- 平衡二叉排序树的各种算法
- Win7设置outlook2013开机自启动
- StringBuffer is dangerous when dealing with lonnnng Strings!!!
- Linux 环境下开发 常用指令
- 一、文件安全与权限
- 内存分布
- static与继承