Đề bài
Build an n × n multiplication table: the value in row i, column j (both counting from 1) is i × j.
Implement multiplication_grid(n).
Input
n: The table size.
Output
Return the table as a list of rows.
Ràng buộc
0 ≤ n ≤ 20
Ví dụ
Đầu vào:
n = 3
Kết quả mong đợi:
expected = [
[1, 2, 3],
[2, 4, 6],
[3, 6, 9]
]
Đầu vào:
long long n = 3;
Kết quả mong đợi:
std::vector<std::vector<long long>> expected = {
{1, 2, 3},
{2, 4, 6},
{3, 6, 9}
};
Đầu vào:
long n = 3;
Kết quả mong đợi:
long[][] expected = new long[][] {
new long[] {1, 2, 3},
new long[] {2, 4, 6},
new long[] {3, 6, 9}
};
Giải thích
Rows are [1, 2, 3], [2, 4, 6] and [3, 6, 9].
Đầu vào:
n = 1
Kết quả mong đợi:
expected = [
[1]
]
Đầu vào:
long long n = 1;
Kết quả mong đợi:
std::vector<std::vector<long long>> expected = {
{1}
};
Đầu vào:
long n = 1;
Kết quả mong đợi:
long[][] expected = new long[][] {
new long[] {1}
};
Giải thích
A 1×1 table holds only 1 × 1 = 1.
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 ô chỉ là tích của số hàng và số cột.
Gợi ý 2
Xây bảng theo từng hàng, điền mỗi hàng từ trái sang phải.
Gợi ý 3
Xử lý trường hợp kích thước bằng 0 bằng cách trả về bảng rỗng, không phải một hàng rỗng đơn lẻ.
Độ phức tạp mong đợi
thời gian O(n^2), bộ nhớ phụ O(n^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.