Đề bài
Xem bản gốc (English)Hàng đầu tiên là [1]. Mỗi hàng tiếp theo bắt đầu và kết thúc bằng 1. Mỗi phần tử bên trong là tổng của hai phần tử ngay phía trên nó. Trả về rows hàng đầu tiên, bắt đầu với số 1 duy nhất.
Cài đặt hàm pascals_triangle(rows).
Đầu vào
rows: Số lượng hàng cần sinh ra.
Đầu ra
Trả về một danh sách các hàng, bắt đầu từ trên xuống; mỗi hàng là một danh sách các số nguyên.
Ràng buộc
0 ≤ rows ≤ 60. Mỗi phần tử đều nằm trong phạm vi số nguyên có dấu 64-bit. Nếu rows bằng 0 thì trả về danh sách rỗng.
Ví dụ
Đầu vào:
rows = 4
Kết quả mong đợi:
expected = [
[1],
[1, 1],
[1, 2, 1],
[1, 3, 3, 1]
]
Đầu vào:
long long rows = 4;
Kết quả mong đợi:
std::vector<std::vector<long long>> expected = {
{1},
{1, 1},
{1, 2, 1},
{1, 3, 3, 1}
};
Đầu vào:
long rows = 4;
Kết quả mong đợi:
long[][] expected = new long[][] {
new long[] {1},
new long[] {1, 1},
new long[] {1, 2, 1},
new long[] {1, 3, 3, 1}
};
Giải thích
Số 2 ở hàng thứ 3 là 1 + 1. Hai số 3 ở giữa hàng thứ 4 là 1 + 2 và 2 + 1.
Đầu vào:
rows = 0
Kết quả mong đợi:
expected = []
Đầu vào:
long long rows = 0;
Kết quả mong đợi:
std::vector<std::vector<long long>> expected = {};
Đầu vào:
long rows = 0;
Kết quả mong đợi:
long[][] expected = new long[][] {};
Giải thích
Không yêu cầu hàng nào, nên trả về danh sách rỗng.
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.