Trong thử thách này, bạn sẽ xác định mức độ gây tranh cãi của một phiếu bầu, được đưa ra một loạt các phiếu bầu khác, bằng cách tìm ra một số gọi là yếu tố C. Yếu tố C là gì, bạn yêu cầu?
Chà, hãy tưởng tượng bạn đã có nhiều phiếu trong một cuộc bầu cử. Chúng tôi sẽ sử dụng 1
và 0
vì lợi ích của thách thức để đại diện cho hai ứng cử viên khác nhau trong một cuộc bầu cử. Dưới đây là mười phiếu trong cuộc bầu cử mẫu của chúng tôi:
0110111011
Bây giờ, giả sử chúng tôi muốn tìm yếu tố C của bất kỳ phiếu bầu nào cho ứng cử viên 0
. Chúng ta có thể làm điều đó với chức năng sau:
Trong , là phiếu bầu mà chúng tôi muốn xác định yếu tố C và là một loạt phiếu bầu. Vì vậy, bằng cách sử dụng chức năng của chúng tôi, để có được yếu tố C của bất kỳ phiếu bầu nào cho ứng cử viên :o
v
0
Một yếu tố C thấp hơn cho thấy rằng phiếu bầu ít gây tranh cãi hơn so với các phiếu khác. Vì vậy, một phiếu bầu cho ứng cử viên 0
khác với các phiếu bầu khác hơn là một phiếu bầu cho ứng cử viên 1
. So sánh, hệ số C cho 1
phiếu bầu của ứng cử viên là , do đó ít gây tranh cãi hơn vì nó giống với các phiếu khác.
Các thách thức
Viết hàm để xác định hệ số C của phiếu bầu cho kết quả bỏ phiếu .o
v
o
phải là một số nguyên,0
hoặc1
.v
phải là một mảng (hoặc loại thùng chứa tương tự tùy thuộc vào thông số kỹ thuật ngôn ngữ) có độ dài tùy ý chứa số không và số không.Hàm sẽ trả về hoặc in ra bàn điều khiển hệ số C kết quả được cung cấp cho các tham số chức năng, sử dụng công thức trên hoặc phương thức sửa đổi.
Chúc may mắn! Chiến thắng ít nhất byte (người chiến thắng được chọn trong năm ngày).
abs(0 - 0.7)
bằng 0.3
?
mean(v)
bằng 0 trong ví dụ của bạn?