我有以下的代碼:提高爲O(n^2)算法
var keywordItems = adwordsService
.ParseReport(report)
.Where(e => e.Keyword.IndexOf('+') == -1);
var keywordTranslations = keywordTranslationService
.GetKeywordTranslationsByClient(id);
model.KeywordItems = keywordItems
.Where(e =>
{
int lastUnderscore = e.CampaignName.LastIndexOf('_');
var identifer = e.CampaignName.Substring(lastUnderscore + 1);
var translation = keywordTranslations
.FirstOrDefault(t => t.translation == e.Keyword &&
t.LocalCombination_id == identifer);
return translation == null;
})
.OrderBy(e => e.Keyword);
它接收一個數組,然後過濾各自基於它們是否已經沒有過這些元件的。
但是,由於有很多新的元素,所以我希望它運行得非常緩慢,如果有人能指出我在這種情況下使用最佳算法的正確方向。
你有兩個不同的輸入 - 'keywordItems'和'keywordTranslations' - 究竟什麼是'N'這裏? –
它們是兩個大小相同的列表。 –