{"group":{"id":1,"name":"Community","lockable":false,"created_at":"2012-01-18T18:02:15.000Z","updated_at":"2026-04-16T00:12:35.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-16T00: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":795,"title":"Joining Ranges","description":"You are given a n-by-2 matrix. Each row represents a numeric range, e.g.\r\n\r\n  x = [0 5; 10 3; 20 15; 16 19; 25 25]\r\n  \r\ncontains ranges [0 5], [10 3], [20 15], [16 19], and [25 25]. Note that the first column does not always contain the smaller number. Join all overlapping ranges and return the sorted (both columns and all rows must be sorted) matrix of joined ranges\r\n\r\n  y = [0 10; 15 20; 25 25]\r\n\r\ni.e. ranges [0 5] and [10 3] are combined to [0 10], range [16 19] is completely overlapped by [15 20] and [25 25] is kept because it is a separate range.","description_html":"\u003cp\u003eYou are given a n-by-2 matrix. Each row represents a numeric range, e.g.\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003ex = [0 5; 10 3; 20 15; 16 19; 25 25]\r\n\u003c/pre\u003e\u003cp\u003econtains ranges [0 5], [10 3], [20 15], [16 19], and [25 25]. Note that the first column does not always contain the smaller number. Join all overlapping ranges and return the sorted (both columns and all rows must be sorted) matrix of joined ranges\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003ey = [0 10; 15 20; 25 25]\r\n\u003c/pre\u003e\u003cp\u003ei.e. ranges [0 5] and [10 3] are combined to [0 10], range [16 19] is completely overlapped by [15 20] and [25 25] is kept because it is a separate range.\u003c/p\u003e","function_template":"function y = joinRanges(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = [0 5; 10 3; 20 15; 16 19; 25 25];\r\ny_correct = [0 10;15 20;25 25];\r\nassert(isequal(joinRanges(x),y_correct))\r\n\r\n%%\r\nx = [-10 -5; 0 -8; -1 5]; \r\ny_correct = [-10 5];\r\nassert(isequal(joinRanges(x),y_correct))\r\n\r\n%%\r\nx = [-50 0; 0 50; 100 50; -50 -100]; \r\ny_correct = [-100 100];\r\nassert(isequal(joinRanges(x),y_correct))\r\n\r\n\r\n%%\r\nx = [99 51; -49 -1; -51 -99; 1 49]; \r\ny_correct = [-99 -51;-49 -1;1 49;51 99];\r\nassert(isequal(joinRanges(x),y_correct))\r\n\r\n\r\n%%\r\nx = [-inf inf]; \r\ny_correct = x;\r\nassert(isequal(joinRanges(x),y_correct))\r\n\r\n%%\r\nx = [0 -42; -inf -10; inf 42]; \r\ny_correct = [-Inf 0;42 Inf];\r\nassert(isequal(joinRanges(x),y_correct))\r\n\r\n%%\r\nx = [36.154 63.178; 12.007 -5.156; -0.519 17.651]; \r\ny_correct = [-5.156 17.651;36.154 63.178];\r\nassert(isequal(joinRanges(x),y_correct))\r\n\r\n%%\r\nassert(isempty(strfind(evalc('type joinRanges'), 'regexp')));","published":true,"deleted":false,"likes_count":9,"comments_count":3,"created_by":4976,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":402,"test_suite_updated_at":"2013-10-20T11:57:08.000Z","rescore_all_solutions":false,"group_id":12,"created_at":"2012-06-27T16:04:34.000Z","updated_at":"2026-04-21T22:32:05.000Z","published_at":"2012-06-27T16:10:37.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\u003eYou are given a n-by-2 matrix. Each row represents a numeric range, e.g.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[x = [0 5; 10 3; 20 15; 16 19; 25 25]]]\u003e\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\u003econtains ranges [0 5], [10 3], [20 15], [16 19], and [25 25]. Note that the first column does not always contain the smaller number. Join all overlapping ranges and return the sorted (both columns and all rows must be sorted) matrix of joined ranges\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[y = [0 10; 15 20; 25 25]]]\u003e\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\u003ei.e. ranges [0 5] and [10 3] are combined to [0 10], range [16 19] is completely overlapped by [15 20] and [25 25] is kept because it is a separate range.\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":795,"title":"Joining Ranges","description":"You are given a n-by-2 matrix. Each row represents a numeric range, e.g.\r\n\r\n  x = [0 5; 10 3; 20 15; 16 19; 25 25]\r\n  \r\ncontains ranges [0 5], [10 3], [20 15], [16 19], and [25 25]. Note that the first column does not always contain the smaller number. Join all overlapping ranges and return the sorted (both columns and all rows must be sorted) matrix of joined ranges\r\n\r\n  y = [0 10; 15 20; 25 25]\r\n\r\ni.e. ranges [0 5] and [10 3] are combined to [0 10], range [16 19] is completely overlapped by [15 20] and [25 25] is kept because it is a separate range.","description_html":"\u003cp\u003eYou are given a n-by-2 matrix. Each row represents a numeric range, e.g.\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003ex = [0 5; 10 3; 20 15; 16 19; 25 25]\r\n\u003c/pre\u003e\u003cp\u003econtains ranges [0 5], [10 3], [20 15], [16 19], and [25 25]. Note that the first column does not always contain the smaller number. Join all overlapping ranges and return the sorted (both columns and all rows must be sorted) matrix of joined ranges\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003ey = [0 10; 15 20; 25 25]\r\n\u003c/pre\u003e\u003cp\u003ei.e. ranges [0 5] and [10 3] are combined to [0 10], range [16 19] is completely overlapped by [15 20] and [25 25] is kept because it is a separate range.\u003c/p\u003e","function_template":"function y = joinRanges(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = [0 5; 10 3; 20 15; 16 19; 25 25];\r\ny_correct = [0 10;15 20;25 25];\r\nassert(isequal(joinRanges(x),y_correct))\r\n\r\n%%\r\nx = [-10 -5; 0 -8; -1 5]; \r\ny_correct = [-10 5];\r\nassert(isequal(joinRanges(x),y_correct))\r\n\r\n%%\r\nx = [-50 0; 0 50; 100 50; -50 -100]; \r\ny_correct = [-100 100];\r\nassert(isequal(joinRanges(x),y_correct))\r\n\r\n\r\n%%\r\nx = [99 51; -49 -1; -51 -99; 1 49]; \r\ny_correct = [-99 -51;-49 -1;1 49;51 99];\r\nassert(isequal(joinRanges(x),y_correct))\r\n\r\n\r\n%%\r\nx = [-inf inf]; \r\ny_correct = x;\r\nassert(isequal(joinRanges(x),y_correct))\r\n\r\n%%\r\nx = [0 -42; -inf -10; inf 42]; \r\ny_correct = [-Inf 0;42 Inf];\r\nassert(isequal(joinRanges(x),y_correct))\r\n\r\n%%\r\nx = [36.154 63.178; 12.007 -5.156; -0.519 17.651]; \r\ny_correct = [-5.156 17.651;36.154 63.178];\r\nassert(isequal(joinRanges(x),y_correct))\r\n\r\n%%\r\nassert(isempty(strfind(evalc('type joinRanges'), 'regexp')));","published":true,"deleted":false,"likes_count":9,"comments_count":3,"created_by":4976,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":402,"test_suite_updated_at":"2013-10-20T11:57:08.000Z","rescore_all_solutions":false,"group_id":12,"created_at":"2012-06-27T16:04:34.000Z","updated_at":"2026-04-21T22:32:05.000Z","published_at":"2012-06-27T16:10:37.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\u003eYou are given a n-by-2 matrix. Each row represents a numeric range, e.g.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[x = [0 5; 10 3; 20 15; 16 19; 25 25]]]\u003e\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\u003econtains ranges [0 5], [10 3], [20 15], [16 19], and [25 25]. Note that the first column does not always contain the smaller number. Join all overlapping ranges and return the sorted (both columns and all rows must be sorted) matrix of joined ranges\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[y = [0 10; 15 20; 25 25]]]\u003e\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\u003ei.e. ranges [0 5] and [10 3] are combined to [0 10], range [16 19] is completely overlapped by [15 20] and [25 25] is kept because it is a separate range.\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":"group:\"Indexing I\" group:\"Algorithm I\"","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":"group:\"Indexing I\" group:\"Algorithm I\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"group":[["group:\"Indexing I\"","","\"","Indexing I","\""],["group:\"Algorithm I\"","","\"","Algorithm I","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f4450a765e8\u003e":["Indexing I","Algorithm I"],"#\u003cMathWorks::Search::Field:0x00007f4450a76548\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f4450a75c88\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f4450a76868\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f4450a767c8\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f4450a76728\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f4450a76688\u003e":"group:\"Indexing I\" group:\"Algorithm I\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f4450a76688\u003e":"group:\"Indexing I\" group:\"Algorithm I\""},"queried_facets":{"#\u003cMathWorks::Search::Field:0x00007f4450a765e8\u003e":["Indexing I","Algorithm I"]}},"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":"group:\"Indexing I\" group:\"Algorithm I\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"group":[["group:\"Indexing I\"","","\"","Indexing I","\""],["group:\"Algorithm I\"","","\"","Algorithm I","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f4450a765e8\u003e":["Indexing I","Algorithm I"],"#\u003cMathWorks::Search::Field:0x00007f4450a76548\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f4450a75c88\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f4450a76868\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f4450a767c8\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f4450a76728\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f4450a76688\u003e":"group:\"Indexing I\" group:\"Algorithm I\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f4450a76688\u003e":"group:\"Indexing I\" group:\"Algorithm I\""},"queried_facets":{"#\u003cMathWorks::Search::Field:0x00007f4450a765e8\u003e":["Indexing I","Algorithm I"]}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":795,"difficulty_rating":"medium"}]}}