Pontos de sela

Pontos de sela

Médio

Introdução

Você planeja construir uma casa na árvore num bosque perto da sua casa, para poder ver o sol nascer e se pôr.

Você conseguiu dados de uma empresa local de levantamento topográfico que mostram a altura de cada árvore em cada seção retangular do mapa. Você precisa analisar cada grade do mapa para encontrar boas árvores para a sua casa na árvore.

Uma boa árvore é as duas coisas:

  • mais alta que todas as árvores a leste e a oeste, para que você tenha a melhor vista possível dos nasceres e pores do sol.
  • mais baixa que todas as árvores ao norte e ao sul, para minimizar a quantidade de subidas nas árvores.

Instruções

Sua tarefa é encontrar as árvores em potencial onde você poderia construir sua casa na árvore.

A empresa de dados fornece os dados na forma de grades que mostram as alturas das árvores. As linhas da grade representam a direção leste-oeste, e as colunas representam a direção norte-sul.

Uma árvore aceitável é a maior da sua linha e, ao mesmo tempo, a menor da sua coluna.

Uma grade pode não ter nenhuma árvore boa. Ou pode ter uma, ou até várias.

Veja uma grade que tem exatamente uma árvore candidata.

      ↓
      1  2  3  4
    |-----------
  1 | 9  8  7  8
→ 2 |[5] 3  2  4
  3 | 6  6  7  1
  • A linha 2 tem os valores 5, 3, 2 e 4. O maior valor é 5.
  • A coluna 1 tem os valores 9, 5 e 6. O menor valor é 5.

Então o ponto em [2, 1] (linha: 2, coluna: 1) é um ótimo lugar para uma casa na árvore.

Instruções específicas da trilha

Formato de entrada

A entrada estará no formato de uma string. Para manter este exercício amigável para quem está começando, não é preciso esperar números com mais de um dígito.

Os bytes 64-191 da memória linear são reservados para a string de entrada.

Formato de saída

A saída é esperada em pares de linha e coluna como u8, concatenados diretamente.

Por exemplo, se houver três pontos de sela

linha: 2, coluna: 1 linha: 2, coluna: 2 linha: 2, coluna: 3

então os valores u8 esperados na saída seriam 2, 1, 2, 2, 2, 3

Editar via GitHub O link abre em uma nova janela ou aba
WebAssembly Exercism

Tudo pronto para começar Pontos de sela?

Crie sua conta no Exercism para aprender e dominar WebAssembly com 87 exercícios e mentoria humana de verdade, tudo de graça.