Uma comparação simples

Mubashir precisa da sua ajuda para comparar dois arrays.

O primeiro array contém números, e o segundo deve conter os quadrados dos números do primeiro array. Crie uma função que retorne true somente quando o segundo array contiver exatamente esses quadrados. Os valores duplicados devem aparecer a mesma quantidade de vezes, mas os valores podem estar em qualquer ordem. Caso contrário, retorne false.

Por exemplo, 121 é o quadrado de 11, 14641 é o quadrado de 121, 20736 é o quadrado de 144, 361 é o quadrado de 19 e 25921 é o quadrado de 161.

Exemplos

Program.SimpleComp(new long[] { 121L, 144L, 19L, 161L, 19L, 144L, 19L, 11L }, new long[] { 121L, 14641L, 20736L, 361L, 25921L, 361L, 20736L, 361L }) ➞ true

Program.SimpleComp(new long[] { 4L, 4L }, new long[] { 1L, 31L }) ➞ false

Program.SimpleComp(new long[] { 2L, 2L, 3L }, new long[] { 4L, 4L, 9L }) ➞ true

Observações

  • Os números podem aparecer em qualquer ordem.
  • A quantidade de ocorrências dos valores duplicados deve ser exatamente a mesma.
  • Os valores negativos são elevados ao quadrado normalmente.
  • Retorne false se qualquer um dos arrays for null ou se eles tiverem comprimentos diferentes.