tôi có phương pháp sau đây:.NET có cách kiểm tra xem Danh sách chứa tất cả các mục trong Danh sách b không?
namespace ListHelper
{
public class ListHelper<T>
{
public static bool ContainsAllItems(List<T> a, List<T> b)
{
return b.TrueForAll(delegate(T t)
{
return a.Contains(t);
});
}
}
}
Mục đích của nó là để xác định xem một danh sách chứa tất cả các yếu tố của một danh sách khác. Nó sẽ xuất hiện với tôi rằng một cái gì đó như thế này sẽ được xây dựng vào. NET đã, đó là trường hợp và tôi đang nhân bản chức năng?
Chỉnh sửa: Lời xin lỗi của tôi vì không nêu rõ rằng tôi đang sử dụng mã này trên phiên bản Mono 2.4.2.
Xem thêm https://stackoverflow.com/questions/332973/check-whether-an-array-is-a -subset-of-another –
Thuật toán của bạn là bậc hai O (nm). Nếu các danh sách được sắp xếp, kiểm tra xem một danh sách có phải là tập hợp con của một danh sách khác có thể được thực hiện trong thời gian O (n + m) hay không. –