count = len(len-1)/n
arr={1,2,3}
len=3
n=2
组合的个数 count = len(len-1)/2 = 3(3-1)/2 =3
----------------------
得到的组合结果为
1,2
1,3
2,3
----------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace Testing
{
class Program
{
static void Main(string[] args)
{
TestDoubleComposition(); Console.ReadLine();
} static List<string> m_list;
/// <summary>
/// 两两组合算法
/// </summary>
static void TestDoubleComposition()
{
m_list = new List<string>();
List<string> list = new List<string>();
list.Add("1");
list.Add("2");
list.Add("3");
DoubleComposition(list);
m_list.ForEach(o => {
Console.WriteLine(o);
});
} /// <summary>
/// 两两组合算法
/// </summary>
static void DoubleComposition(List<string> arr)
{
if (arr == null || arr.Count <= 1)
return; string str = arr.First();
arr.RemoveAt(0);
arr.ForEach(o =>
{
m_list.Add(string.Format("{0},{1}",str,o));
}); DoubleComposition(arr);
}
}
}
两两组合算法-递归实现方法
原创
©著作权归作者所有:来自51CTO博客作者xxj_jing的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Python中两种网络编程方式:Socket和HTTP协议
本文将介绍Python中两种主要的网络编程方式:Socket编程和基于HTTP协议的网络编程,并通过实际案例来演示它们的应用。
Python 网络编程 Socket HTTP协议 -
两两组合 java 两两组合玩游戏怎么做
背景: 规则:有一堆n个物品,两个人轮流从这堆物品中取物, 规定每次至少取一个,最多取m个。 &nb
两两组合 java 博弈论 组合游戏 i++ Nim