Recordes de temperatura

Você recebe dois arrays de temperaturas mínimas e máximas para os mesmos sete dias da semana. As entradas que ocupam o mesmo índice correspondem ao mesmo dia.

O array records contém os recordes históricos de temperatura mínima e máxima de cada dia:

[[mínima histórica, máxima histórica], ...]

O array currentWeek contém as temperaturas mínimas e máximas da semana atual:

[[mínima diária, máxima diária], ...]

Uma temperatura máxima diária estabelece um novo recorde somente quando é maior que o recorde de máxima daquele dia. Uma temperatura mínima diária estabelece um novo recorde somente quando é menor que o recorde de mínima daquele dia. Compare os dois arrays e retorne os recordes, atualizando cada valor que tenha superado um deles.

Exemplos

int[][] records = new int[][] {
  { 34, 82 },
  { 24, 82 },
  { 20, 89 },
  { 5, 88 },
  { 9, 88 },
  { 26, 89 },
  { 27, 83 }
};

int[][] currentWeek = new int[][] {
  { 44, 72 },
  { 19, 70 },
  { 40, 69 },
  { 39, 68 },
  { 33, 64 },
  { 36, 70 },
  { 38, 69 }
};

Program.recordTemps(records, currentWeek);
// ➞ new int[][] {
//     { 34, 82 },
//     { 19, 82 },
//     { 20, 89 },
//     { 5, 88 },
//     { 9, 88 },
//     { 26, 89 },
//     { 27, 83 }
//   }

O recorde anterior de temperatura mínima da segunda-feira era 24, e a mínima atual foi 19. Portanto, 19 passa a ser o novo recorde de mínima da segunda-feira.

Observações

  • Pode haver vários novos recordes em uma mesma semana.
  • Se nenhum recorde for superado, retorne os valores originais.
  • O índice 0 sempre corresponde à mínima e o índice 1, à máxima: [mínima, máxima].
  • Um recorde de máxima e um de mínima não serão estabelecidos no mesmo dia.
  • As temperaturas estão em graus Fahrenheit, mas não é necessário convertê-las.