Thử thách:
Đầu vào: Danh sách các số nguyên dương khác biệt trong phạm vi .
Đầu ra: Một số nguyên: số lần danh sách được xáo trộn . Đối với một danh sách, điều này có nghĩa là danh sách được chia thành hai nửa và các nửa này được xen kẽ (nghĩa là xáo trộn danh sách [1,2,3,4,5,6,7,8,9,10]
một lần sẽ dẫn đến [1,6,2,7,3,8,4,9,5,10]
, vì vậy đối với thử thách [1,6,2,7,3,8,4,9,5,10]
này, kết quả đầu vào sẽ dẫn đến 1
).
Quy tắc thử thách:
- Bạn có thể giả sử danh sách sẽ chỉ chứa các số nguyên dương trong phạm vi (hoặc nếu bạn chọn có danh sách đầu vào được lập chỉ mục 0 ).
- Bạn có thể giả sử tất cả các danh sách đầu vào sẽ là một danh sách xáo trộn hợp lệ hoặc một danh sách được sắp xếp không bị xáo trộn (trong trường hợp đó là đầu ra
0
). - Bạn có thể giả sử danh sách đầu vào sẽ chứa ít nhất ba giá trị.
Ví dụ từng bước:
Đầu vào: [1,3,5,7,9,2,4,6,8]
Xáo trộn nó một lần trở thành : [1,5,9,4,8,3,7,2,6]
, bởi vì mọi mục chẵn 0 chỉ mục đều đến trước [1, ,5, ,9, ,4, ,8]
, và sau đó tất cả các mục 0 chỉ mục lẻ sau đó [ ,3, ,7, ,2, ,6, ]
.
Danh sách chưa được đặt hàng, vì vậy chúng tôi tiếp tục:
Xáo trộn danh sách một lần nữa trở thành: [1,9,8,7,6,5,4,3,2]
Một lần nữa trở thành: [1,8,6,4,2,9,7,5,3]
Sau đó: [1,6,2,7,3,8,4,9,5]
Và cuối cùng : [1,2,3,4,5,6,7,8,9]
, đó là một danh sách được sắp xếp, vì vậy chúng tôi đã hoàn thành việc xáo trộn.
Chúng tôi đã xáo trộn [1,3,5,7,9,2,4,6,8]
năm lần ban đầu để có được [1,2,3,4,5,6,7,8,9]
, vì vậy đầu ra là 5
trong trường hợp này.
Quy tắc chung:
- Đây là môn đánh gôn , vì vậy câu trả lời ngắn nhất bằng byte thắng.
Đừng để ngôn ngữ mã-golf ngăn cản bạn đăng câu trả lời với các ngôn ngữ không mã hóa. Cố gắng đưa ra một câu trả lời càng ngắn càng tốt cho ngôn ngữ lập trình 'bất kỳ'. - Quy tắc chuẩn áp dụng cho câu trả lời của bạn với quy tắc I / O mặc định , vì vậy bạn được phép sử dụng STDIN / STDOUT, các hàm / phương thức với các tham số thích hợp và kiểu trả về, chương trình đầy đủ. Cuộc gọi của bạn.
- Lỗ hổng mặc định bị cấm.
- Nếu có thể, vui lòng thêm một liên kết với một bài kiểm tra cho mã của bạn (ví dụ TIO ).
- Ngoài ra, thêm một lời giải thích cho câu trả lời của bạn rất được khuyến khích.
Các trường hợp thử nghiệm:
Input Output
[1,2,3] 0
[1,2,3,4,5] 0
[1,3,2] 1
[1,6,2,7,3,8,4,9,5,10] 1
[1,3,5,7,2,4,6] 2
[1,8,6,4,2,9,7,5,3,10] 2
[1,9,8,7,6,5,4,3,2,10] 3
[1,5,9,4,8,3,7,2,6,10] 4
[1,3,5,7,9,2,4,6,8] 5
[1,6,11,5,10,4,9,3,8,2,7] 6
[1,10,19,9,18,8,17,7,16,6,15,5,14,4,13,3,12,2,11,20] 10
[1,3,5,7,9,11,13,15,17,19,2,4,6,8,10,12,14,16,18,20] 17
[1,141,32,172,63,203,94,234,125,16,156,47,187,78,218,109,249,140,31,171,62,202,93,233,124,15,155,46,186,77,217,108,248,139,30,170,61,201,92,232,123,14,154,45,185,76,216,107,247,138,29,169,60,200,91,231,122,13,153,44,184,75,215,106,246,137,28,168,59,199,90,230,121,12,152,43,183,74,214,105,245,136,27,167,58,198,89,229,120,11,151,42,182,73,213,104,244,135,26,166,57,197,88,228,119,10,150,41,181,72,212,103,243,134,25,165,56,196,87,227,118,9,149,40,180,71,211,102,242,133,24,164,55,195,86,226,117,8,148,39,179,70,210,101,241,132,23,163,54,194,85,225,116,7,147,38,178,69,209,100,240,131,22,162,53,193,84,224,115,6,146,37,177,68,208,99,239,130,21,161,52,192,83,223,114,5,145,36,176,67,207,98,238,129,20,160,51,191,82,222,113,4,144,35,175,66,206,97,237,128,19,159,50,190,81,221,112,3,143,34,174,65,205,96,236,127,18,158,49,189,80,220,111,2,142,33,173,64,204,95,235,126,17,157,48,188,79,219,110,250]
45
[1,3,5,7,9,2,4,6,8]
độ dài 9, nhưng tôi sẽ thêm một vài cái nữa cho độ dài 7 và 11 có lẽ. EDIT: Đã thêm các trường hợp thử nghiệm [1,3,5,7,2,4,6] = 2
(chiều dài 7) và [1,6,11,5,10,4,9,3,8,2,7] = 6
(chiều dài 11). Mong rằng sẽ giúp.
[1,6,2,7,3,8,4,9,5,10]
hoặc [6,1,7,2,8,3,9,4,10,5]
có thể. Trong thử thách của tôi, điều đó có nghĩa là thẻ hàng đầu sẽ luôn là thẻ hàng đầu, do đó, đây thực sự là một trò lừa bịp .. Tôi chưa bao giờ thấy ai đó irl chỉ sử dụng xáo trộn để xáo trộn bộ bài. Thông thường họ cũng sử dụng các loại xáo trộn khác ở giữa. Dù sao, bây giờ đã quá muộn để thay đổi thử thách, vì vậy, vì lợi ích của thử thách này, thẻ hàng đầu sẽ luôn là thẻ hàng đầu sau một lần xáo trộn.