Einfach 0 gelöst 0% Erfolgsquote

Pyramidenreihen

Zeichne eine rechtsbündige Pyramide aus # Blöcken.

Das lernst du

  • Zeilen aus Auffüllung und Blöcken bauen
  • Leerzeichen und Symbole pro Zeile berechnen
  • Zeilen als Liste zurückgeben

Problem

Zeichne eine rechtsbündige Pyramide wie in Super Mario: Die Zeile i (beginnend bei 1) enthält height − i Leerzeichen, gefolgt von i #-Zeichen.

Implementiere pyramid_rows(height).

Eingabe

height: Die Anzahl der Zeilen.

Ausgabe

Gib die Zeilen von oben nach unten zurück.

Einschränkungen

0 ≤ height ≤ 50

Beispiele

Beispiel 1
Eingabe:
height = 3

Erwartete Ausgabe:
expected = ["  #", " ##", "###"]
Eingabe:
long long height = 3;

Erwartete Ausgabe:
std::vector<std::string> expected = {"  #", " ##", "###"};
Eingabe:
long height = 3;

Erwartete Ausgabe:
string[] expected = new string[] {"  #", " ##", "###"};

Erläuterung

Die Zeilen sind " #", " ##" und "###": Jede Zeile hat einen Block mehr und ein Leerzeichen weniger.

Beispiel 2
Eingabe:
height = 1

Erwartete Ausgabe:
expected = ["#"]
Eingabe:
long long height = 1;

Erwartete Ausgabe:
std::vector<std::string> expected = {"#"};
Eingabe:
long height = 1;

Erwartete Ausgabe:
string[] expected = new string[] {"#"};

Erläuterung

Eine einzelne Zeile mit einem Block: "#".

So gehst du vor

Versuch es zuerst allein und öffne dann einen Hinweis nach dem anderen.

Hinweis 1

Jede Zeile kombiniert führende Leerzeichen mit einer wachsenden Reihe von #-Zeichen.

Hinweis 2

Baue die Zeilen von oben nach unten auf, damit die Ausrichtung stimmt.

Hinweis 3

Wenn die Höhe 0 ist, gib keine Zeilen zurück statt einer leer wirkenden Pyramide.

Erwartete Komplexität

Zeit O(height^2), zusätzlicher Speicher O(height^2)

Referenzen

Diese Aufgabe wurde für CodeUtility angepasst. Beachte die oben genannten Vorgaben und Einschränkungen.

Von anderen lernen

Community-Lösungen

Noch keine veröffentlichten Lösungen. Löse die Aufgabe und teile als Erster eine Lösung.