Đề 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ụ
Đầ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.
Đầ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.