Fácil 0 resolvidos 0% de aceitação

Pyramid Rows

Draw a right-aligned pyramid of # blocks.

O que você vai aprender

  • Montar linhas com espaços e blocos
  • Calcular espaços e símbolos por linha
  • Retornar as linhas como uma lista

Problema

Draw a right-aligned pyramid like the one in Super Mario: row i (counting from 1) has height − i spaces followed by i # characters.

Implement pyramid_rows(height).

Input

height: The number of rows.

Output

Return the rows from top to bottom.

Restrições

0 ≤ height ≤ 50

Exemplos

Exemplo 1
Entrada:
height = 3

Saída esperada:
expected = ["  #", " ##", "###"]
Entrada:
long long height = 3;

Saída esperada:
std::vector<std::string> expected = {"  #", " ##", "###"};
Entrada:
long height = 3;

Saída esperada:
string[] expected = new string[] {"  #", " ##", "###"};

Explicação

Rows are " #", " ##" and "###": each row has one more block and one less space.

Exemplo 2
Entrada:
height = 1

Saída esperada:
expected = ["#"]
Entrada:
long long height = 1;

Saída esperada:
std::vector<std::string> expected = {"#"};
Entrada:
long height = 1;

Saída esperada:
string[] expected = new string[] {"#"};

Explicação

A single row with one block: "#".

Como abordar

Tente sozinho primeiro e depois abra uma dica de cada vez.

Dica 1

Cada linha combina espaços à esquerda com uma sequência crescente de caracteres #.

Dica 2

Monte as linhas de cima para baixo para manter o alinhamento correto.

Dica 3

Se a altura for zero, retorne nenhuma linha em vez de uma pirâmide vazia.

Complexidade esperada

tempo O(height^2), espaço extra O(height^2)

Referências

Este desafio foi adaptado para o CodeUtility. Siga o enunciado e as restrições acima.

Aprenda com outros

Soluções da comunidade

Ainda não há soluções publicadas. Resolva este desafio para compartilhar a primeira.