首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

一道C#算法题,求高效算法。解决方法

2012-03-28 
一道C#算法题,求高效算法。一道面试题,如下:有数组1,2,3,4,5,6,7。按照各种不同的顺序打印出来,其中4不能在

一道C#算法题,求高效算法。
一道面试题,如下:

有数组1,2,3,4,5,6,7。按照各种不同的顺序打印出来,其中4不能在第3位,3和5不能相邻。求最高效算法。

[解决办法]

C# code
        static IEnumerable<string> Arrange(string source)        {            for (int i = 0; i < source.Length; i++)            {                if (source.Length == 1)                {                    yield return source;                }                else                {                    foreach (var x in Arrange(source.Substring(0, i) + source.Substring(i + 1)))                    {                        yield return source[i] + x;                    }                }            }        } 

热点排行