一道C#算法题,求高效算法。 一道面试题,如下:有数组1,2,3,4,5,6,7。按照各种不同的顺序打印出来,其中4不能在第3位,3和5不能相邻。求最高效算法。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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; } } } }foreach(string item in Arrange("1234567").Where(x => x[3] != "4" && x.IndexOf("35") == -1 && x.IndexOf("53") == -1)){ Console.WriteLine(item);} contextMenuStrip 的问题 改成另一种方式 C# WinForm 多国语言时OpenFileDialog的问题 华硕机试题.有兴趣试试!!! 如何快速删除数据库中的大量记录 ThreadPool的 SetMaxThreads 设置了4000 但是 到 1390多的时候就终止了 使用mdiwindowlistitem后出现无法访问Icon的错误 如果判断一个dll文件是否实现了某一接口 散分了!!!! 使用“数字签名”的编程问题 关于 C#后台按键发送问题 c# 截取窗体内指定控件范围的内容为图片
{
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;
}
}
}
}
foreach(string item in Arrange("1234567").Where(x => x[3] != "4" && x.IndexOf("35") == -1 && x.IndexOf("53") == -1))
{
Console.WriteLine(item);
}