Tính diện tích của một đa giác.
Lấy cảm hứng từ video thuật toán dây giày này.
Bài tập
Công việc của bạn là tạo ra một chương trình hoặc hàm tính diện tích của một đa giác. Chương trình hoặc chức năng được xác định theo định nghĩa mặc định trong meta.
Đầu vào
Bạn sẽ nhận được tọa độ X và Y của mỗi đỉnh của đa giác. Bạn có thể lấy đầu vào làm danh sách các bộ dữ liệu ( [[x1, y1], [x2, y2], etc]
), ma trận hoặc danh sách phẳng ( [x1, y1, x2, y2, etc]
). Hai danh sách chứa x
và y
tọa độ tương ứng cũng được cho phép. Các đỉnh được đánh số ngược chiều kim đồng hồ và đỉnh đầu tiên giống như đỉnh cuối cùng được cung cấp, do đó đóng đa giác.
Nếu bạn muốn, bạn có thể lấy đầu vào mà không có đỉnh cuối cùng (vì vậy hãy nhận mỗi tọa độ chỉ một lần).
Bạn có thể giả sử rằng các cạnh của đa giác không giao nhau. Bạn cũng có thể giả sử rằng tất cả các đỉnh có tọa độ nguyên.
Đầu ra
Diện tích của đa giác. Tất cả các phương pháp đầu ra tiêu chuẩn được cho phép. Nếu ngôn ngữ của bạn không cho phép phân chia float và giải pháp sẽ không phải là số nguyên, bạn được phép trả về một phân số. Phân số không nhất thiết phải được đơn giản hóa, vì vậy việc trả lại 2/4
sẽ được cho phép.
Giành chiến thắng
Mã ngắn nhất sẽ thắng!
Các trường hợp thử nghiệm
[[4,4],[0,1],[-2,5],[-6,0],[-1,-4],[5,-2],[4,4]]
55
[[1,1],[0,1],[1,0],[1,1]]
0.5
1/2
[x1, x2, x3], [y1, y2, y3]
được phép?