记录一些最近做过的题目
程序员文章站
2024-02-02 13:41:58
...
写一个序列替换的函数
orig 为输入序列
finder 为查找的序列
rep 为替换的序列
例如: org : 1,2,3,50,52,50,3
finder: 3,50
rep: 4,50,60
结果为: 1,2,4,50,60,52,50,3
List<int> Replace(List<int> orig, List<int> finder, List<int> rep);
算法思路:将List<int>转成字符串进行处理,利用replace方法。
好处:写起来快,不用费脑子
坏处:多了转换的时间
static List<int> Replace(List<int> orig, List<int> finder, List<int> rep)
{
//替换成字符串进行处理
string strorig = string.Join(",", orig);
string strfinder = string.Join(",", finder);
string strrep = string.Join(",", rep);
string strresult = string.Empty;
strresult=strorig.Replace(strfinder,strrep);
List<int> result = strresult.Split(',').Select(int.Parse).ToList();
return result;
}
static void Main(string[] args)
{
List<int> orig = new List<int> { 1, 2, 3, 50, 52, 50, 3 };
List<int> finder = new List<int> { 3, 50 };
List<int>rep=new List<int>{4,50,60};
Replace(orig,finder,rep);
}
做这些题目的时候由于时间紧迫,虽然有更好的想法但是没时间实现。欢迎兄弟们,拿出效率比较高的做法进行交流。。