Chúng tôi xác định bản đồ là một tập hợp các cặp khóa-giá trị. Đối với thử thách này, bạn cần lấy từng giá trị và gán chúng cho một khóa được chọn ngẫu nhiên.
- Bạn phải trộn ngẫu nhiên các giá trị và xuất bản đồ kết quả. Điều này có nghĩa là mỗi lần chúng tôi chạy chương trình của bạn, chúng tôi có cơ hội nhận được một đầu ra khác nhau
- Mỗi hoán vị có thể có của các giá trị phải có cơ hội xuất hiện khác không.
- Tất cả các khóa gốc và giá trị gốc phải xuất hiện trong mảng kết quả. Các giá trị lặp lại phải xuất hiện cùng số lần trong mảng kết quả.
Ví dụ: nếu bản đồ của bạn là:
[0:10, 1:10, 5:5]
tất cả những điều sau đây phải có cơ hội xuất hiện:
[0:10, 1:10, 5:5] (original map)
[0:10, 1:5, 5:10]
[0:10, 1:10, 5:5] (technically the same map, but I swapped the two tens)
[0:10, 1:5, 5:10]
[0:5, 1:10, 5:10]
[0:5, 1:10, 5:10]
Đầu vào / đầu ra chấp nhận được:
- Bản đồ ngôn ngữ của bạn
- Bạn có thể nhập một mảng các cặp khóa-giá trị. Bạn không thể nhập 2 mảng, một mảng có khóa, cái còn lại có giá trị.
- Bạn có thể sử dụng một đại diện chuỗi của bất kỳ ở trên
- Nếu bạn nhập một mảng hoặc bản đồ, bạn có thể sửa đổi đối tượng ban đầu thay vì quay lại
- Loại đầu vào phải phù hợp với loại đầu ra
- Nếu bạn nhập một mảng, thứ tự của các phím phải được duy trì.
- Bạn có thể cho rằng các khóa là duy nhất, nhưng bạn không thể cho rằng các giá trị là duy nhất.
Đây là một môn đánh gôn , vì vậy hãy trả lời càng ngắn càng tốt
[k, v]
hoặc sẽ [v, k]
được chấp nhận?
[k, v]