Concatenar para formar o array de destino

Crie uma função que retorne true se os arrays menores puderem ser concatenados para formar o array de destino e false caso contrário.

Exemplos

Program.canConcatenate(new int[][]{{1, 2, 3, 4}, {5, 6}, {7}}, new int[]{1, 2, 3, 4, 5, 6, 7}) ➞ true

Program.canConcatenate(new int[][]{{2, 1, 3}, {5, 4, 7, 6}}, new int[]{7, 6, 5, 4, 3, 2, 1}) ➞ true

Program.canConcatenate(new int[][]{{2, 1, 3}, {5, 4, 7, 6, 7}}, new int[]{1, 2, 3, 4, 5, 6, 7}) ➞ false
// O 7 duplicado não está presente no array de destino.

Program.canConcatenate(new int[][]{{2, 1, 3}, {5, 4, 7}}, new int[]{1, 2, 3, 4, 5, 6, 7}) ➞ false
// O valor 6 do array de destino está ausente nos arrays menores.

Observações

  • Os arrays não precisam estar ordenados.
  • Os arrays menores devem formar exatamente o array final; valores ausentes e duplicados fazem diferença.