{"group":{"id":1,"name":"Community","lockable":false,"created_at":"2012-01-18T18:02:15.000Z","updated_at":"2025-12-14T01:33:56.000Z","description":"Problems submitted by members of the MATLAB Central community.","is_default":true,"created_by":161519,"badge_id":null,"featured":false,"trending":false,"solution_count_in_trending_period":0,"trending_last_calculated":"2025-12-14T00:00:00.000Z","image_id":null,"published":true,"community_created":false,"status_id":2,"is_default_group_for_player":false,"deleted_by":null,"deleted_at":null,"restored_by":null,"restored_at":null,"description_opc":null,"description_html":null,"published_at":null},"problems":[{"id":60216,"title":"Perfect shuffle","description":"We call \"perfect shuffle\" the process of cutting a deck of cards into two equal halves, and then perfectly interleaving them: one card from the left stack, one card from the right stack, one card from the left stack, and so on.\r\nLet \"deck\" be an array with an even number of elements. Write a function \"perfect_shuffle(deck)\" that returns a new array constructed according to this shuffle.\r\nFor example, perfect_shuffle([1, 2, 3, 4, 5, 6]) should return [1, 4, 2, 5, 3, 6].\r\nRemark: For an array of 1024 elements, after 10 shuffles, we get back to the initial arrangement.","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 153.026px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 441.989px 76.5057px; transform-origin: 441.996px 76.5128px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42.017px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 418.991px 21.0085px; text-align: left; transform-origin: 418.999px 21.0085px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eWe call \"perfect shuffle\" the process of cutting a deck of cards into two equal halves, and then perfectly interleaving them: one card from the left stack, one card from the right stack, one card from the left stack, and so on.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42.017px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 418.991px 21.0085px; text-align: left; transform-origin: 418.999px 21.0085px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eLet \"deck\" be an array with an even number of elements. Write a function \"perfect_shuffle(deck)\" that returns a new array constructed according to this shuffle.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21.0085px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 418.991px 10.4972px; text-align: left; transform-origin: 418.999px 10.5043px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eFor example, perfect_shuffle([1, 2, 3, 4, 5, 6]) should return [1, 4, 2, 5, 3, 6].\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21.0085px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 418.991px 10.4972px; text-align: left; transform-origin: 418.999px 10.5043px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eRemark: For an array of 1024 elements, after 10 shuffles, we get back to the initial arrangement.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = perfect_shuffle(x)\r\n  \r\nend","test_suite":"%%  \r\nx = [1, 2, 3, 4, 5, 6];\r\ny_correct = [1, 4, 2, 5, 3, 6];\r\ny = perfect_shuffle(x);\r\nassert(isequal(y, y_correct));\r\n\r\n%%  \r\nx = [1, 4, 2, 5, 3, 6];\r\ny_correct = [1, 5, 4, 3, 2, 6];\r\ny = perfect_shuffle(x);\r\nassert(isequal(y, y_correct));\r\n\r\n%%  \r\nx = [10, 20, 30, 40, 50, 60, 70, 80];\r\ny_correct = [10, 50, 20, 60, 30, 70, 40, 80];\r\ny = perfect_shuffle(x);\r\nassert(isequal(y, y_correct));\r\n\r\n%% \r\nx = randperm(6);\r\ny_correct = x;\r\nfor i = 1:4\r\n    y_correct = perfect_shuffle(y_correct);\r\nend\r\nassert(isequal(y_correct, x));\r\n\r\n%% \r\nx = randperm(1024);\r\ny_correct = x;\r\nfor i = 1:10\r\n    y_correct = perfect_shuffle(y_correct);\r\nend\r\nassert(isequal(y_correct, x));\r\n\r\n\r\n%% \r\nnn = [6, 30, 22, 126, 16, 124, 120, 118, 116, 114, 112, 110, 100, 98];\r\nii = [4, 28,  6, 100,  4,  20,  24,  12,  44,  28,  36,  36,  30, 48];\r\nidx = randi(length(nn)); % random index\r\nn = nn(idx) % number of elements\r\nj = ii(idx) % number of shuffles to get back to the initial arrangement for n elements\r\nx = randperm(n); % array of n elements\r\ny_correct = x;\r\nfor i = 1:j\r\n    y_correct = perfect_shuffle(y_correct);\r\nend\r\nassert(isequal(y_correct, x));\r\n\r\n","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":208445,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":18,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2024-05-05T08:41:11.000Z","updated_at":"2026-03-05T12:25:49.000Z","published_at":"2024-05-05T08:41:11.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eWe call \\\"perfect shuffle\\\" the process of cutting a deck of cards into two equal halves, and then perfectly interleaving them: one card from the left stack, one card from the right stack, one card from the left stack, and so on.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eLet \\\"deck\\\" be an array with an even number of elements. Write a function \\\"perfect_shuffle(deck)\\\" that returns a new array constructed according to this shuffle.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor example, perfect_shuffle([1, 2, 3, 4, 5, 6]) should return [1, 4, 2, 5, 3, 6].\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eRemark: For an array of 1024 elements, after 10 shuffles, we get back to the initial arrangement.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"}],"problem_search":{"errors":[],"problems":[{"id":60216,"title":"Perfect shuffle","description":"We call \"perfect shuffle\" the process of cutting a deck of cards into two equal halves, and then perfectly interleaving them: one card from the left stack, one card from the right stack, one card from the left stack, and so on.\r\nLet \"deck\" be an array with an even number of elements. Write a function \"perfect_shuffle(deck)\" that returns a new array constructed according to this shuffle.\r\nFor example, perfect_shuffle([1, 2, 3, 4, 5, 6]) should return [1, 4, 2, 5, 3, 6].\r\nRemark: For an array of 1024 elements, after 10 shuffles, we get back to the initial arrangement.","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 153.026px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 441.989px 76.5057px; transform-origin: 441.996px 76.5128px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42.017px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 418.991px 21.0085px; text-align: left; transform-origin: 418.999px 21.0085px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eWe call \"perfect shuffle\" the process of cutting a deck of cards into two equal halves, and then perfectly interleaving them: one card from the left stack, one card from the right stack, one card from the left stack, and so on.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42.017px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 418.991px 21.0085px; text-align: left; transform-origin: 418.999px 21.0085px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eLet \"deck\" be an array with an even number of elements. Write a function \"perfect_shuffle(deck)\" that returns a new array constructed according to this shuffle.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21.0085px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 418.991px 10.4972px; text-align: left; transform-origin: 418.999px 10.5043px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eFor example, perfect_shuffle([1, 2, 3, 4, 5, 6]) should return [1, 4, 2, 5, 3, 6].\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21.0085px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 418.991px 10.4972px; text-align: left; transform-origin: 418.999px 10.5043px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eRemark: For an array of 1024 elements, after 10 shuffles, we get back to the initial arrangement.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = perfect_shuffle(x)\r\n  \r\nend","test_suite":"%%  \r\nx = [1, 2, 3, 4, 5, 6];\r\ny_correct = [1, 4, 2, 5, 3, 6];\r\ny = perfect_shuffle(x);\r\nassert(isequal(y, y_correct));\r\n\r\n%%  \r\nx = [1, 4, 2, 5, 3, 6];\r\ny_correct = [1, 5, 4, 3, 2, 6];\r\ny = perfect_shuffle(x);\r\nassert(isequal(y, y_correct));\r\n\r\n%%  \r\nx = [10, 20, 30, 40, 50, 60, 70, 80];\r\ny_correct = [10, 50, 20, 60, 30, 70, 40, 80];\r\ny = perfect_shuffle(x);\r\nassert(isequal(y, y_correct));\r\n\r\n%% \r\nx = randperm(6);\r\ny_correct = x;\r\nfor i = 1:4\r\n    y_correct = perfect_shuffle(y_correct);\r\nend\r\nassert(isequal(y_correct, x));\r\n\r\n%% \r\nx = randperm(1024);\r\ny_correct = x;\r\nfor i = 1:10\r\n    y_correct = perfect_shuffle(y_correct);\r\nend\r\nassert(isequal(y_correct, x));\r\n\r\n\r\n%% \r\nnn = [6, 30, 22, 126, 16, 124, 120, 118, 116, 114, 112, 110, 100, 98];\r\nii = [4, 28,  6, 100,  4,  20,  24,  12,  44,  28,  36,  36,  30, 48];\r\nidx = randi(length(nn)); % random index\r\nn = nn(idx) % number of elements\r\nj = ii(idx) % number of shuffles to get back to the initial arrangement for n elements\r\nx = randperm(n); % array of n elements\r\ny_correct = x;\r\nfor i = 1:j\r\n    y_correct = perfect_shuffle(y_correct);\r\nend\r\nassert(isequal(y_correct, x));\r\n\r\n","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":208445,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":18,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2024-05-05T08:41:11.000Z","updated_at":"2026-03-05T12:25:49.000Z","published_at":"2024-05-05T08:41:11.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eWe call \\\"perfect shuffle\\\" the process of cutting a deck of cards into two equal halves, and then perfectly interleaving them: one card from the left stack, one card from the right stack, one card from the left stack, and so on.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eLet \\\"deck\\\" be an array with an even number of elements. Write a function \\\"perfect_shuffle(deck)\\\" that returns a new array constructed according to this shuffle.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor example, perfect_shuffle([1, 2, 3, 4, 5, 6]) should return [1, 4, 2, 5, 3, 6].\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eRemark: For an array of 1024 elements, after 10 shuffles, we get back to the initial arrangement.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"}],"term":"tag:\"shuffle\"","current_player_id":null,"fields":[{"name":"page","type":"integer","callback":null,"default":1,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"per_page","type":"integer","callback":null,"default":50,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"sort","type":"string","callback":null,"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"body","type":"text","callback":null,"default":"*:*","directive":null,"facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":false},{"name":"group","type":"string","callback":null,"default":null,"directive":"group","facet":true,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"difficulty_rating_bin","type":"string","callback":null,"default":null,"directive":"difficulty_rating_bin","facet":true,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"id","type":"integer","callback":null,"default":null,"directive":"id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"tag","type":"string","callback":null,"default":null,"directive":"tag","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"product","type":"string","callback":null,"default":null,"directive":"product","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"created_at","type":"timeframe","callback":{},"default":null,"directive":"created_at","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"profile_id","type":"integer","callback":null,"default":null,"directive":"author_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"created_by","type":"string","callback":null,"default":null,"directive":"author","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"player_id","type":"integer","callback":null,"default":null,"directive":"solver_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"player","type":"string","callback":null,"default":null,"directive":"solver","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"solvers_count","type":"integer","callback":null,"default":null,"directive":"solvers_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"comments_count","type":"integer","callback":null,"default":null,"directive":"comments_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"likes_count","type":"integer","callback":null,"default":null,"directive":"likes_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"leader_id","type":"integer","callback":null,"default":null,"directive":"leader_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"leading_solution","type":"integer","callback":null,"default":null,"directive":"leading_solution","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true}],"filters":[{"name":"asset_type","type":"string","callback":null,"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":"\"cody:problem\"","prepend":true},{"name":"profile_id","type":"integer","callback":{},"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":"author_id","static":null,"prepend":true}],"query":{"params":{"per_page":50,"term":"tag:\"shuffle\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"shuffle\"","","\"","shuffle","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f7343f5d170\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f7343f5d0d0\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f7343f5c810\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f7343f5d3f0\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f7343f5d350\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f7343f5d2b0\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f7343f5d210\u003e":"tag:\"shuffle\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f7343f5d210\u003e":"tag:\"shuffle\""},"queried_facets":{}},"query_backend":{"connection":{"configuration":{"index_url":"http://index-op-v2/solr/","query_url":"http://search-op-v2/solr/","direct_access_index_urls":["http://index-op-v2/solr/"],"direct_access_query_urls":["http://search-op-v2/solr/"],"timeout":10,"vhost":"search","exchange":"search.topic","heartbeat":30,"pre_index_mode":false,"host":"rabbitmq-eks","port":5672,"username":"search","password":"J3bGPZzQ7asjJcCk","virtual_host":"search","indexer":"amqp","http_logging":"true","core":"cody"},"query_connection":{"uri":"http://search-op-v2/solr/cody/","proxy":null,"connection":{"parallel_manager":null,"headers":{"User-Agent":"Faraday v1.0.1"},"params":{},"options":{"params_encoder":"Faraday::FlatParamsEncoder","proxy":null,"bind":null,"timeout":null,"open_timeout":null,"read_timeout":null,"write_timeout":null,"boundary":null,"oauth":null,"context":null,"on_data":null},"ssl":{"verify":true,"ca_file":null,"ca_path":null,"verify_mode":null,"cert_store":null,"client_cert":null,"client_key":null,"certificate":null,"private_key":null,"verify_depth":null,"version":null,"min_version":null,"max_version":null},"default_parallel_manager":null,"builder":{"adapter":{"name":"Faraday::Adapter::NetHttp","args":[],"block":null},"handlers":[{"name":"Faraday::Response::RaiseError","args":[],"block":null}],"app":{"app":{"ssl_cert_store":{"verify_callback":null,"error":null,"error_string":null,"chain":null,"time":null},"app":{},"connection_options":{},"config_block":null}}},"url_prefix":"http://search-op-v2/solr/cody/","manual_proxy":false,"proxy":null},"update_format":"RSolr::JSON::Generator","update_path":"update","options":{"url":"http://search-op-v2/solr/cody"}}},"query":{"params":{"per_page":50,"term":"tag:\"shuffle\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"shuffle\"","","\"","shuffle","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f7343f5d170\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f7343f5d0d0\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f7343f5c810\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f7343f5d3f0\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f7343f5d350\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f7343f5d2b0\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f7343f5d210\u003e":"tag:\"shuffle\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f7343f5d210\u003e":"tag:\"shuffle\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":60216,"difficulty_rating":"easy"}]}}