Cho một mảng số nguyên có ít nhất hai phần tử, xuất ra Ma trận-Vector (được xác định bên dưới) của mảng.
Để tính toán Ma trận-Vector , trước tiên hãy xoay qua n
mảng kích thước- đầu vào để tạo ma trận có kích thước n x n
, với phần tử đầu tiên của mảng theo đường chéo chính. Điều này tạo thành phần ma trận. Đối với vectơ, lật mảng đầu vào theo chiều dọc. Sau đó thực hiện phép nhân ma trận bình thường. Các vector đầu ra là kết quả.
Ví dụ,
a = [1, 2, 3]
Đầu tiên, xoay mảng hai lần sang phải, để lấy [3, 1, 2]
và [2, 3, 1]
sau đó xếp chúng lại để tạo thành 3x3
ma trận
[[1, 2, 3]
[3, 1, 2]
[2, 3, 1]]
Tiếp theo, lật mảng theo chiều dọc để tạo thành vector
[[1, 2, 3] [[1]
[3, 1, 2] x [2]
[2, 3, 1]] [3]]
Thực hiện phép nhân ma trận thông thường
[[1, 2, 3] [[1] [[1+4+9] [[14]
[3, 1, 2] x [2] = [3+2+6] = [11]
[2, 3, 1]] [3]] [2+6+3]] [11]]
Và đầu ra là [14, 11, 11]
hoặc [[14], [11], [11]]
(sự lựa chọn của bạn về việc nó có bị xẹp hay không).
Ví dụ # 2
a = [2, 5, 8, 3]
[[2, 5, 8, 3] [[2] [[4+25+64+9] [[102]
[3, 2, 5, 8] x [5] = [6+10+40+24] = [80]
[8, 3, 2, 5] [8] [16+15+16+15] [62]
[5, 8, 3, 2]] [3]] [10+40+24+6]] [80]]
[102, 80, 62, 80]
Quy tắc
- Đầu vào và đầu ra có thể được coi là phù hợp với kiểu số nguyên của ngôn ngữ của bạn.
- Đầu vào và đầu ra có thể được đưa ra trong bất kỳ định dạng thuận tiện .
- Hoặc là một chương trình đầy đủ hoặc một chức năng được chấp nhận. Nếu một chức năng, bạn có thể trả lại đầu ra thay vì in nó.
- Nếu có thể, vui lòng bao gồm một liên kết đến một môi trường thử nghiệm trực tuyến để người khác có thể thử mã của bạn!
- Sơ hở tiêu chuẩn bị cấm.
- Đây là môn đánh gôn, vì vậy tất cả các quy tắc chơi gôn thông thường đều được áp dụng và mã ngắn nhất (tính bằng byte) sẽ thắng.
(v*2)[i+j]
mẹo hay