{"group":{"id":1,"name":"Community","lockable":false,"created_at":"2012-01-18T18:02:15.000Z","updated_at":"2026-04-06T14:01:22.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":"2026-04-06T00: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":44712,"title":"Sort Reversal","description":"There are n index cards in a row, with n distinct integers written on them (one number per card) so that the numbers are sorted in decreasing order. You are only allowed to exchange pair of cards that have exactly one card between them. \r\n\r\nGiven an odd value n, what is the minimum number of exchanges required to reverse the order of arrangement?\r\n\r\n*THEORY:* The problem can be solved by applying a sorting algorithm such as _bubble sort_ or _insertion sort_ first to the numbers in odd positions and then to the numbers in even positions.","description_html":"\u003cp\u003eThere are n index cards in a row, with n distinct integers written on them (one number per card) so that the numbers are sorted in decreasing order. You are only allowed to exchange pair of cards that have exactly one card between them.\u003c/p\u003e\u003cp\u003eGiven an odd value n, what is the minimum number of exchanges required to reverse the order of arrangement?\u003c/p\u003e\u003cp\u003e\u003cb\u003eTHEORY:\u003c/b\u003e The problem can be solved by applying a sorting algorithm such as \u003ci\u003ebubble sort\u003c/i\u003e or \u003ci\u003einsertion sort\u003c/i\u003e first to the numbers in odd positions and then to the numbers in even positions.\u003c/p\u003e","function_template":"function y = SortReversal(n)\r\n  y = x;\r\nend","test_suite":"%%\r\nassert(isequal(SortReversal(1),0))\r\n\r\n%%\r\nassert(isequal(SortReversal(3),1))\r\n\r\n%%\r\nassert(isequal(SortReversal(71),1225))\r\n\r\n%%\r\nassert(isequal(SortReversal(113),3136))\r\n\r\n%%\r\nassert(isequal(SortReversal(123),3721))\r\n\r\n%%\r\nassert(isequal(SortReversal(199),9801))\r\n\r\n%%\r\nassert(isequal(SortReversal(257),16384))\r\n\r\n%%\r\nassert(isequal(SortReversal(321),25600))\r\n\r\n%%\r\nassert(isequal(SortReversal(333),27556))\r\n\r\n%%\r\nassert(isequal(SortReversal(503),63001))\r\n\r\n%%\r\nassert(isequal(SortReversal(555),76729))\r\n\r\n%%\r\nassert(isequal(SortReversal(737),135424))\r\n\r\n%%\r\nassert(isequal(SortReversal(777),150544))\r\n\r\n%%\r\nassert(isequal(SortReversal(999),249001))","published":true,"deleted":false,"likes_count":2,"comments_count":0,"created_by":178544,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":18,"test_suite_updated_at":"2018-09-07T17:34:58.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2018-08-03T19:01:12.000Z","updated_at":"2026-03-11T11:47:32.000Z","published_at":"2018-08-03T19:48:08.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\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\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThere are n index cards in a row, with n distinct integers written on them (one number per card) so that the numbers are sorted in decreasing order. You are only allowed to exchange pair of cards that have exactly one card between them.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGiven an odd value n, what is the minimum number of exchanges required to reverse the order of arrangement?\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eTHEORY:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e The problem can be solved by applying a sorting algorithm such as\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ebubble sort\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e or\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003einsertion sort\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e first to the numbers in odd positions and then to the numbers in even positions.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"}],"problem_search":{"errors":[],"problems":[{"id":44712,"title":"Sort Reversal","description":"There are n index cards in a row, with n distinct integers written on them (one number per card) so that the numbers are sorted in decreasing order. You are only allowed to exchange pair of cards that have exactly one card between them. \r\n\r\nGiven an odd value n, what is the minimum number of exchanges required to reverse the order of arrangement?\r\n\r\n*THEORY:* The problem can be solved by applying a sorting algorithm such as _bubble sort_ or _insertion sort_ first to the numbers in odd positions and then to the numbers in even positions.","description_html":"\u003cp\u003eThere are n index cards in a row, with n distinct integers written on them (one number per card) so that the numbers are sorted in decreasing order. You are only allowed to exchange pair of cards that have exactly one card between them.\u003c/p\u003e\u003cp\u003eGiven an odd value n, what is the minimum number of exchanges required to reverse the order of arrangement?\u003c/p\u003e\u003cp\u003e\u003cb\u003eTHEORY:\u003c/b\u003e The problem can be solved by applying a sorting algorithm such as \u003ci\u003ebubble sort\u003c/i\u003e or \u003ci\u003einsertion sort\u003c/i\u003e first to the numbers in odd positions and then to the numbers in even positions.\u003c/p\u003e","function_template":"function y = SortReversal(n)\r\n  y = x;\r\nend","test_suite":"%%\r\nassert(isequal(SortReversal(1),0))\r\n\r\n%%\r\nassert(isequal(SortReversal(3),1))\r\n\r\n%%\r\nassert(isequal(SortReversal(71),1225))\r\n\r\n%%\r\nassert(isequal(SortReversal(113),3136))\r\n\r\n%%\r\nassert(isequal(SortReversal(123),3721))\r\n\r\n%%\r\nassert(isequal(SortReversal(199),9801))\r\n\r\n%%\r\nassert(isequal(SortReversal(257),16384))\r\n\r\n%%\r\nassert(isequal(SortReversal(321),25600))\r\n\r\n%%\r\nassert(isequal(SortReversal(333),27556))\r\n\r\n%%\r\nassert(isequal(SortReversal(503),63001))\r\n\r\n%%\r\nassert(isequal(SortReversal(555),76729))\r\n\r\n%%\r\nassert(isequal(SortReversal(737),135424))\r\n\r\n%%\r\nassert(isequal(SortReversal(777),150544))\r\n\r\n%%\r\nassert(isequal(SortReversal(999),249001))","published":true,"deleted":false,"likes_count":2,"comments_count":0,"created_by":178544,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":18,"test_suite_updated_at":"2018-09-07T17:34:58.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2018-08-03T19:01:12.000Z","updated_at":"2026-03-11T11:47:32.000Z","published_at":"2018-08-03T19:48:08.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\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\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThere are n index cards in a row, with n distinct integers written on them (one number per card) so that the numbers are sorted in decreasing order. You are only allowed to exchange pair of cards that have exactly one card between them.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGiven an odd value n, what is the minimum number of exchanges required to reverse the order of arrangement?\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eTHEORY:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e The problem can be solved by applying a sorting algorithm such as\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ebubble sort\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e or\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003einsertion sort\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e first to the numbers in odd positions and then to the numbers in even positions.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"}],"term":"tag:\"insertion sort\"","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:\"insertion sort\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"insertion sort\"","","\"","insertion sort","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f6357da4578\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f6357da44d8\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f6357da3858\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f6357da49d8\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f6357da47f8\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f6357da46b8\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f6357da4618\u003e":"tag:\"insertion sort\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f6357da4618\u003e":"tag:\"insertion sort\""},"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":"cody-search","password":"78X075ddcV44","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:\"insertion sort\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"insertion sort\"","","\"","insertion sort","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f6357da4578\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f6357da44d8\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f6357da3858\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f6357da49d8\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f6357da47f8\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f6357da46b8\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f6357da4618\u003e":"tag:\"insertion sort\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f6357da4618\u003e":"tag:\"insertion sort\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":44712,"difficulty_rating":"easy-medium"}]}}