日期:2014-05-17  浏览次数:20881 次

一个相当有挑战的算法-谁帮我设计下?
首先是

list<string>A=new list<string>();
list<string>B=new list<string>();
list<string>C=new list<string>();
list<string>D=new list<string>();
list<string>E=new list<string>();

A.Add("我你他");
A.Add("偶倪她");

B.Add("是");
B.Add("似");
B.Add("乃");

C.Add("夏商周");
C.Add("秦汉");
C.Add("隋唐");
C.Add("宋辽");
C.Add("元明清");

D.Add("朝");

E.Add("人女男");





要求是给出写一个函数

private List<string>  ReplaceBiaoqian(string template)
{
list<string> _result=new list<string>();
//写一个算法,实现完全替换模版里的标签。
return _result;
}

模版样式如下:
string template="请注意,第一个人说{A1}{B1}{C2}{D1}{E1},他过来了。第二个人说他不是{C2}{D1}和{C1}{E2}"; //模版字符串是这样类型的。

A1 代表A中每个字符串的第一个字符,其他类推。由于A有2个字符串,B有3个,C有5个,D有1个,E有3个,那么就要生成的_result.count=2*3*5*1*3=90个

  

算法 乘积

------解决方案--------------------
你这个不难啊,最直接的,自己遍历,根据{}位置取之间的内容,去替换,或者用正则(推荐),直接匹配出{}间的内容
------解决方案--------------------