Dễ 0 đã giải Tỷ lệ chấp nhận 0%

Pyramid Rows

Draw a right-aligned pyramid of # blocks.

Bạn sẽ học được gì

  • Tạo hàng bằng khoảng trắng và khối
  • Tính số khoảng trắng và ký hiệu mỗi hàng
  • Trả về các dòng dưới dạng danh sách

Đề bài

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.

Ràng buộc

0 ≤ height ≤ 50

Ví dụ

Ví dụ 1
Đầu vào:
height = 3

Kết quả mong đợi:
expected = ["  #", " ##", "###"]
Đầu vào:
long long height = 3;

Kết quả mong đợi:
std::vector<std::string> expected = {"  #", " ##", "###"};
Đầu vào:
long height = 3;

Kết quả mong đợi:
string[] expected = new string[] {"  #", " ##", "###"};

Giải thích

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

Ví dụ 2
Đầu vào:
height = 1

Kết quả mong đợi:
expected = ["#"]
Đầu vào:
long long height = 1;

Kết quả mong đợi:
std::vector<std::string> expected = {"#"};
Đầu vào:
long height = 1;

Kết quả mong đợi:
string[] expected = new string[] {"#"};

Giải thích

A single row with one block: "#".

Hướng tiếp cận

Hãy tự thử trước, sau đó mở từng gợi ý một.

Gợi ý 1

Mỗi hàng là sự kết hợp giữa khoảng trắng đầu dòng và một dãy ký tự # tăng dần.

Gợi ý 2

Tạo từng hàng từ trên xuống dưới để căn lề luôn đúng.

Gợi ý 3

Nếu chiều cao bằng 0, hãy trả về không có hàng nào thay vì một kim tự tháp trống rỗng.

Độ phức tạp mong đợi

thời gian O(height^2), bộ nhớ phụ O(height^2)

Tham khảo

Thử thách này đã được điều chỉnh cho CodeUtility. Hãy làm theo đề bài và các ràng buộc ở trên.

Học hỏi từ người khác

Giải pháp cộng đồng

Chưa có giải pháp nào được chia sẻ. Hãy giải thử thách này để đăng giải pháp đầu tiên.