Comprueba si un arreglo es un subconjunto de otro

El arreglo A está contenido en el arreglo B si todos los elementos de A también están en B.

No importa cuántas veces aparezca un valor. En otras palabras, si convirtiéramos ambos arreglos en conjuntos, A sería un subconjunto de B.

var a = new[] { 3, 3, 9, 9, 9, 5 };
var b = new[] { 1, 3, 9, 5, 8, 44, 44 };

var aSet = new[] { 3, 9, 5 };
var bSet = new[] { 1, 3, 9, 5, 8, 44 };
// aSet es un subconjunto de bSet.

Crea un método que determine si el primer arreglo es un subconjunto del segundo.

Ejemplos

Program.IsSubset(new[] { 1, 3 }, new[] { 1, 3, 3, 5 }) // true
Program.IsSubset(new[] { 4, 8, 7 }, new[] { 7, 4, 4, 4, 9, 8 }) // true
Program.IsSubset(new[] { 1, 3 }, new[] { 1, 33 }) // false
Program.IsSubset(new[] { 1, 3, 10 }, new[] { 10, 8, 8, 8 }) // false

Notas

  • Cada arreglo de entrada contiene al menos un elemento.
  • Consulta la pestaña Recursos para obtener una pista.