-8
我需要計算兩個排序集合之間的整數數量,以確定樂透彩票券是否是贏家。一個排序組獲勝數字和其他ticketNumbers。我被告知有一個交叉函數,但是我找不到一個函數來實現所需的結果。理想情況下,我想要一個函數返回一個int,表示這些集合之間的公共整數數量。如何計算兩個排序集合之間的公共整數
我需要計算兩個排序集合之間的整數數量,以確定樂透彩票券是否是贏家。一個排序組獲勝數字和其他ticketNumbers。我被告知有一個交叉函數,但是我找不到一個函數來實現所需的結果。理想情況下,我想要一個函數返回一個int,表示這些集合之間的公共整數數量。如何計算兩個排序集合之間的公共整數
即使沒有排序,這個工程:
IEnumerable<int> winning = winningNumbers.Intersect(ticketNumbers);
int countOfWinningNumbers = winning.Count();
如果您想進一步處理它,它會更好地創建一個集合:
List<int> winningList = winning.ToList();
int countOfWinningNumbers = winningList.Count;
既然你已經明確要求了SortedSet
方法,使用SortedSet.IntersectWith
可能更有效(O(n))但修改源集:
SortedSet<int> winningNumbers = new SortedSet<int> { 2, 3, 7 };
SortedSet<int> ticketNumbers = new SortedSet<int> { 1, 2, 3, 4, 5 };
ticketNumbers.IntersectWith(winningNumbers); // now ticketNumbers contains only 2 and 3
這完美的感謝您的幫助 –
你一直在尋找什麼?您應該很輕鬆地訪問https://msdn.microsoft.com/library/bb460136.aspx。第一個例子似乎適合你的情況。 – Mark
你至少可以努力搜索谷歌或堆棧溢出你自己... –