方法是:
List<Book> books = new List<Book>();
public List<Book> Shoot()
{
foreach(var b in books)
{
bool find = true;
foreach(var otherb in books)
{
if(otherb != b && otherb.Author == b.Author)
{
find = false;
}
}
if(find)
{
yield return b;
}
}
}
通常,时间复杂度为 O(books.Count^2),但在外循环中有一个 if(find) 语句,它可能会改变循环次数。
所以我的问题是:
- 这种方法的时间复杂度是多少?
- 你是怎么计算的?
我在网上等你的答复。
先感谢您。