从数组中返回指定长度的子数组

      自己在一个搜索程序中遇到了这样一个问题:怎么从数组(集合)中返回指定长度的子数组(集合)。比如数组{1,2,3,4},现在要返回所有长度为n=2的子数组,即{1,2}{1,3}{1,4}{2,3}{2,4}{3,4}。如果这个n在写代码时就确定,那就用n层循环可以很简单的实现。但是,关键在于n是在程序运行时才知道的,这样就不能只能用循环了。

      想了几天后,才完全实现了这个功能。

      

Code

上面的算法,用到了递归,关键在于设置了一个临时变量List<int> one,每递归一个就在one中添加一个元素,直到one的Count==n。

这是自己的想法,这个题目应该是很简单的,不知道有没有高手给出更简单的答案!!

原文地址:https://www.cnblogs.com/xiangism/p/1561398.html