Я хотел бы знать эффективный способ в C # проверить, существует ли подмассив в большем массиве, массивы всегда будут в числовом порядке, например:
x = {1,2,3,4,5,6} y = {3,4} z = {6,7}
y в x= ИСТИНА
z в х = ЛОЖЬ
var x = new HashSet<int>(Enumerable.Range(1,6)); // [1,2,3,4,5,6] var y = Enumerable.Range(1,3); // [1,2,3] var z = Enumerable.Range(6,2); // [6,7] x.IsSupersetOf(y); // true x.IsSupersetOf(z); // false
Рассмотрим пример y в x. Прежде всего, вы можете проверить
if(y[0] <= x[x.length-1]) //binary search in array x for y[y.length-1] //if that is true u can say that y in x else false.