Xiangism

从一个无知角落里开始,蹒跚学步,一个未知到另一个未知,在跌跌撞撞中越走越快,越走越远,最后宇宙也为之开源。对于探索者来说,最后他们的思想总是变得和自己的足迹一样伟大。
  博客园  :: 首页  :: 联系 :: 管理

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

Posted on 2009-09-06 19:05  Xiangism  阅读(1294)  评论(1编辑  收藏  举报

      自己在一个搜索程序中遇到了这样一个问题:怎么从数组(集合)中返回指定长度的子数组(集合)。比如数组{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。

 

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