【发布时间】:2019-06-10 21:03:36
【问题描述】:
关于作为输入 (n) 的列表的长度,此代码的时间复杂度是否是线性的,因为由于“任何”技术上循环遍历新数组,因此只有一个循环或二次循环 - 但不是通过每个循环上的每个项目?或者两者都不是?
public static List<Item> RemoveDuplicated(List<Item> listToFilter)
{
var newItemList = new List<Item>();
foreach(var item in listToFilter)
{
if(!newItemList.Any( i => i.ItemId == item.ItemId))
{
newItemList.Add(item);
}
}
return newItemList;
}
【问题讨论】:
-
看起来你有一个 List M 和一个 Filter N 所以算法 = M * N
-
我投票结束这个问题,因为它可能属于softwareengineering.stackexchange.com
标签: c# algorithm time-complexity computer-science