Verifique se um array pode ser aninhado em outro

Crie uma função que retorne true quando cada valor do primeiro array estiver estritamente entre os valores mínimo e máximo do segundo array. Retorne false caso contrário.

De forma equivalente, o primeiro array poderá ser aninhado quando ambas as condições forem atendidas:

  1. Seu mínimo for maior que o mínimo do segundo array.
  2. Seu máximo for menor que o máximo do segundo array.

Exemplos

Program.CanNest(new[] { 1, 2, 3, 4 }, new[] { 0, 6 }) ➞ true

Program.CanNest(new[] { 3, 1 }, new[] { 4, 0 }) ➞ true

Program.CanNest(new[] { 9, 9, 8 }, new[] { 8, 9 }) ➞ false

Program.CanNest(new[] { 1, 2, 3, 4 }, new[] { 2, 3 }) ➞ false

Observações

  • Ambos os arrays contêm pelo menos um inteiro.
  • As comparações são estritas: valores de limite iguais não contam como aninhados.
  • A ordem dos elementos não importa.