{"id":1301,"date":"2020-07-01T09:50:50","date_gmt":"2020-07-01T09:50:50","guid":{"rendered":"https:\/\/blog.prepbytes.com\/?p=1301"},"modified":"2022-03-23T23:45:31","modified_gmt":"2022-03-23T23:45:31","slug":"median-again","status":"publish","type":"post","link":"https:\/\/prepbytes.com\/blog\/median-again\/","title":{"rendered":"Median Again"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645174307817-Article_398.png\" alt=\"\" \/><\/p>\n<h3>Concepts Used<\/h3>\n<blockquote>\n<p>Sorting<\/p>\n<\/blockquote>\n<h3>Difficulty Level<\/h3>\n<blockquote>\n<p>Medium<\/p>\n<\/blockquote>\n<h3>Problem Statement (Simplified):<\/h3>\n<blockquote>\n<p>Find the maximum possible median of provided odd-sized array where you can increase any element by one where each increment is counted as one operation. You can do a maximum of <code>K<\/code> operation, where <code>K<\/code> is also provided.<\/p>\n<ul>\n<li><strong><em>Median<\/em><\/strong>: Median of an array is the middle element of an odd-sized array if the array is sorted in non-decreasing order.<\/li>\n<\/ul>\n<\/blockquote>\n<p><a href=\"https:\/\/mycode.prepbytes.com\/problems\/sorting\/MEDIAN1\" title=\"Go to mycode.prepbytes.com\" target=\"_blank\" rel=\"noopener noreferrer\"><u><strong><\/strong><\/u><\/a><\/p>\n<h4>Test Case<\/h4>\n<pre><code>Input:\n5 2\n6 7 3 1 2\n\nOutput:\n5\n\nExplanation:\nOn sorting array in non-decreasing order, we get array as,\n\n1 2 3 6 7\n\nCurrent median is 3, if we add 2, median becomes 5, also whole capacity has been consumed, so we print the latest median.<\/code><\/pre>\n<h3>Solving Approach :<\/h3>\n<blockquote>\n<p>1) We sort the array so that we can calculate the median easily.<\/p>\n<p>2) We keep increasing the median to make it equal to its right values until it reaches the last element (largest value in array) or our operation limit is reached.<\/p>\n<p>3) After converting median to the current right value, we add the total number of steps for every element between the median and current right elements, which make value from median to right element equal, maintaining the non-decreasing behavior of array.<\/p>\n<p>4) Once capacity is reached or we reach the last element, we print array.<\/p>\n<\/blockquote>\n<h3>Example<\/h3>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes.com\/blog\/wp-content\/uploads\/2020\/06\/Group-200@2x.png\" alt=\"\" \/><\/p>\n<blockquote>\n<p>Let array <code>A<\/code> be,<br \/>\nand, <code>capacity<\/code> is <code>2<\/code>, we sort array, so that we can get a non-decreasing sequence to find median, after sorting array, we get<\/p>\n<p>Median of an odd sized array is middle element of it&#8217;s non-decreasing form, so our current median lies at index <code>2<\/code>, i.e. our current median is <code>3<\/code>.<\/p>\n<p>We make current median equal to elements to it&#8217;s right, so total steps would be <code>A[mid+1]-A[mid]<\/code>, i.e. 1 in current test case, so our final array becomes,<\/p>\n<p>We consumes 1 step in last step, so we&#8217;re left with only 1 <code>capacity<\/code>.<\/p>\n<p>Now, our median have become <code>4<\/code> and middle index and element at it&#8217;s right are same now. So, we move forward toward more right of middle index, i.e. index <code>4<\/code> at which <code>5<\/code> resides.<\/p>\n<p>We convert all values between median index and right index equal to the value to the current right index i.e. <code>5<\/code>, so total number of operations will be,<\/p>\n<p><code>operations = (rightIndex - middleIndex) * (A[rightIndex]-A[middleIndex])<\/code><\/p>\n<p><code>operations = (4-2) * (5-4)<\/code><\/p>\n<p><code>operations = 2 * 1<\/code><\/p>\n<p><code>operations = 2<\/code><\/p>\n<p>Total numeber of operation required are <code>2<\/code>, but we are left with only <code>1<\/code> <code>capacity<\/code>, hence we skip this step, and print our current median because we cannot afford further step. So, our final median becomes <code>4<\/code>.<\/p>\n<\/blockquote>\n<h3>Solutions<\/h3>\n<p>\t\t\t\t\t\t<style>\r\n\t\t\t\t\r\n\t\t\t\t\t#tab_container_1311 {\r\n\toverflow:hidden;\r\n\tdisplay:block;\r\n\twidth:100%;\r\n\tborder:0px solid #ddd;\r\n\tmargin-bottom:30px;\r\n\t}\r\n\r\n#tab_container_1311 .tab-content{\r\n\tpadding:20px;\r\n\tborder: 1px solid #e6e6e6 !important;\r\n\tmargin-top: 0px;\r\n\tbackground-color:#ffffff !important;\r\n\tcolor: #000000 !important;\r\n\tfont-size:16px !important;\r\n\tfont-family: Open Sans !important;\r\n\t\r\n\t\tborder: 1px solid #e6e6e6 !important;\r\n\t}\r\n#tab_container_1311 .wpsm_nav-tabs {\r\n    border-bottom: 0px solid #ddd;\r\n}\r\n#tab_container_1311 .wpsm_nav-tabs > li.active > a, #tab_container_1311 .wpsm_nav-tabs > li.active > a:hover, #tab_container_1311 .wpsm_nav-tabs > li.active > a:focus {\r\n\tcolor: #000000 !important;\r\n\tcursor: default;\r\n\tbackground-color: #ffffff !important;\r\n\tborder: 1px solid #e6e6e6 !important;\r\n}\r\n\r\n#tab_container_1311 .wpsm_nav-tabs > li > a {\r\n    margin-right: 0px !important; \r\n    line-height: 1.42857143 !important;\r\n    border: 1px solid #d5d5d5 !important;\r\n    border-radius: 0px 0px 0 0 !important; \r\n\tbackground-color: #e8e8e8 !important;\r\n\tcolor: #000000 !important;\r\n\tpadding: 15px 18px 15px 18px !important;\r\n\ttext-decoration: none !important;\r\n\tfont-size: 14px !important;\r\n\ttext-align:center !important;\r\n\tfont-family: Open Sans !important;\r\n}\r\n#tab_container_1311 .wpsm_nav-tabs > li > a:focus {\r\noutline: 0px !important;\r\n}\r\n\r\n#tab_container_1311 .wpsm_nav-tabs > li > a:before {\r\n\tdisplay:none !important;\r\n}\r\n#tab_container_1311 .wpsm_nav-tabs > li > a:after {\r\n\tdisplay:none !important ;\r\n}\r\n#tab_container_1311 .wpsm_nav-tabs > li{\r\npadding:0px !important ;\r\nmargin:0px;\r\n}\r\n\r\n#tab_container_1311 .wpsm_nav-tabs > li > a:hover , #tab_container_1311 .wpsm_nav-tabs > li > a:focus {\r\n    color: #000000 !important;\r\n    background-color: #e8e8e8 !important;\r\n\tborder: 1px solid #d5d5d5 !important;\r\n\t\r\n}\r\n#tab_container_1311 .wpsm_nav-tabs > li > a .fa{\r\n\r\nmargin-right:5px !important;\r\n\r\nmargin-left:5px !important;\r\n\r\n\r\n}\r\n\r\n\t\t#tab_container_1311 .wpsm_nav-tabs a{\r\n\t\t\tbackground-image: none;\r\n\t\t\tbackground-position: 0 0;\r\n\t\t\tbackground-repeat: repeat-x;\r\n\t\t}\r\n\t\t\t\r\n\r\n\r\n#tab_container_1311 .wpsm_nav-tabs > li {\r\n    float: left;\r\n    margin-bottom: -1px !important;\r\n\tmargin-right:0px !important; \r\n}\r\n\r\n\r\n#tab_container_1311 .tab-content{\r\noverflow:hidden !important;\r\n}\r\n\r\n\r\n@media (min-width: 769px) {\r\n\r\n\t#tab_container_1311 .wpsm_nav-tabs > li{\r\n\t\tfloat:left !important ;\r\n\t\t\t\tmargin-right:-1px !important;\r\n\t\t\t\t\t}\r\n\t#tab_container_1311 .wpsm_nav-tabs{\r\n\t\tfloat:none !important;\r\n\t\tmargin:0px !important;\r\n\t}\r\n\r\n\t#tab_container_1311 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_1311 .wpsm_nav{\r\n\t\t\t}\r\n\r\n}\r\n\r\n\r\n\r\n@media (max-width: 768px) {\r\n\t#tab_container_1311 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_1311 .wpsm_nav{\r\n\t\t\t}\r\n}\r\n\r\n\r\n\t.wpsm_nav-tabs li:before{\r\n\t\tdisplay:none !important;\r\n\t}\r\n\r\n\t@media (max-width: 768px) {\r\n\t\t\t\t\r\n\t\t\t\t.wpsm_nav-tabs{\r\n\t\t\tmargin-left:0px !important;\r\n\t\t\tmargin-right:0px !important; \r\n\t\t\t\r\n\t\t}\r\n\t\t\t\t#tab_container_1311 .wpsm_nav-tabs > li{\r\n\t\t\tfloat:none !important;\r\n\t\t}\r\n\t\t\t\r\n\t}\t\t\t\t<\/style>\r\n\t\t\t\t<div id=\"tab_container_1311\" >\r\n\t \r\n\t\t\t\t\t<ul class=\"wpsm_nav wpsm_nav-tabs\" role=\"tablist\" id=\"myTab_1311\">\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t<li role=\"presentation\"  class=\"active\"  onclick=\"do_resize()\">\r\n\t\t\t\t\t\t\t\t<a href=\"#tabs_desc_1311_1\" aria-controls=\"tabs_desc_1311_1\" role=\"tab\" data-toggle=\"tab\">\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-code\"><\/i> \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t<span>C<\/span>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t<li role=\"presentation\"  onclick=\"do_resize()\">\r\n\t\t\t\t\t\t\t\t<a href=\"#tabs_desc_1311_2\" aria-controls=\"tabs_desc_1311_2\" role=\"tab\" data-toggle=\"tab\">\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-code\"><\/i> \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t<span>C++<\/span>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t<li role=\"presentation\"  onclick=\"do_resize()\">\r\n\t\t\t\t\t\t\t\t<a href=\"#tabs_desc_1311_3\" aria-controls=\"tabs_desc_1311_3\" role=\"tab\" data-toggle=\"tab\">\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-code\"><\/i> \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t<span>Java<\/span>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t <\/ul>\r\n\r\n\t\t\t\t\t  <!-- Tab panes -->\r\n\t\t\t\t\t  <div class=\"tab-content\" id=\"tab-content_1311\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t <div role=\"tabpanel\" class=\"tab-pane  in active \" id=\"tabs_desc_1311_1\">\r\n\t\t\t\t\t\t\t\t<!-- wp:enlighter\/codeblock {\"language\":\"c\"} -->\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"c\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\r\n\r\n#include &lt;stdio.h&gt;\r\n\r\nvoid merge(long long arr[], int start, int mid, int end){\r\n    long long left[mid-start+1];\r\n    long long right[end-mid];\r\n    for(int i=start; i&lt;mid+1; i++){\r\n        left[i-start] =  arr[i];\r\n    }\r\n    for(int i=mid+1; i&lt;=end; i++){\r\n        right[i-(mid+1)] = arr[i];\r\n    }\r\n    int leftIndex=0, rightIndex=0, arrIndex=start;\r\n    for( ; leftIndex&lt;=mid-start &amp;&amp; rightIndex&lt;end-mid; arrIndex++){\r\n        if(left[leftIndex]&lt;right[rightIndex]){\r\n            arr[arrIndex] = left[leftIndex++];\r\n        }\r\n        else{\r\n            arr[arrIndex] = right[rightIndex++];\r\n        }\r\n    }\r\n\r\n    while(leftIndex&lt;=mid-start){\r\n        arr[arrIndex++] = left[leftIndex++];\r\n    }\r\n\r\n    while(rightIndex&lt;end-mid){\r\n        arr[arrIndex++] = right[rightIndex++];\r\n    }\r\n\r\n}\r\n\r\nvoid mergeSort(long long arr[], int start, int end){\r\n    if(end==start)\r\n        return;\r\n    mergeSort(arr,start,(start+end)\/2);\r\n    mergeSort(arr,((start+end)\/2)+1,end);\r\n    merge(arr,start,(start+end)\/2,end);\r\n}\r\n\r\nint main() {\r\n\r\n      long long n, k;\r\n    scanf(&quot;%lld%lld&quot;,&amp;n,&amp;k);\r\n\r\n    long long i, arr[n+1];\r\n    for(i=1;i&lt;=n;i++)\r\n          scanf(&quot;%lld&quot;,&amp;arr[i]);\r\n\r\n    mergeSort(arr,1,n);    \r\n    long long mid = (n+1)\/2;\r\n    long long cnt = 1;\r\n    long long moves = 0;\r\n    while(moves &lt;= k &amp;&amp; mid &lt;= n-1)\r\n    {\r\n        long long diff = arr[mid+1] - arr[mid];\r\n        if(moves + diff*cnt &lt;= k)\r\n        {\r\n            moves += diff*cnt;\r\n            cnt++;\r\n            arr[mid] = arr[mid+1];\r\n            mid++;\r\n        }\r\n        else\r\n            break;\r\n    }\r\n    if(moves &lt;= k)\r\n    {\r\n        long long left = k - moves;\r\n        arr[mid] += left\/cnt;\r\n    }\r\n\r\n    printf(&quot;%lld&#92;n&quot;,arr[mid]);\r\n\r\n}\r\n<\/pre>\r\n<!-- \/wp:enlighter\/codeblock -->\r\n\r\n\t\t\t\t\t\t <\/div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t <div role=\"tabpanel\" class=\"tab-pane \" id=\"tabs_desc_1311_2\">\r\n\t\t\t\t\t\t\t\t<!-- wp:enlighter\/codeblock {\"language\":\"cpp\"} -->\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"cpp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\r\n#include &lt;bits\/stdc++.h&gt;\r\nusing namespace std;\r\n\r\nvoid merge(long long arr[], int start, int mid, int end){\r\n    long long left[mid-start+1]={0};\r\n    long long right[end-mid]={0};\r\n    for(int i=start; i&lt;mid+1; i++){\r\n        left[i-start] =  arr[i];\r\n    }\r\n    for(int i=mid+1; i&lt;=end; i++){\r\n        right[i-(mid+1)] = arr[i];\r\n    }\r\n    int leftIndex=0, rightIndex=0, arrIndex=start;\r\n    for( ; leftIndex&lt;=mid-start &amp;&amp; rightIndex&lt;end-mid; arrIndex++){\r\n        if(left[leftIndex]&lt;right[rightIndex]){\r\n            arr[arrIndex] = left[leftIndex++];\r\n        }\r\n        else{\r\n            arr[arrIndex] = right[rightIndex++];\r\n        }\r\n    }\r\n\r\n    while(leftIndex&lt;=mid-start){\r\n        arr[arrIndex++] = left[leftIndex++];\r\n    }\r\n\r\n    while(rightIndex&lt;end-mid){\r\n        arr[arrIndex++] = right[rightIndex++];\r\n    }\r\n\r\n}\r\n\r\nvoid mergeSort(long long arr[], int start, int end){\r\n    if(end==start)\r\n        return;\r\n    mergeSort(arr,start,(start+end)\/2);\r\n    mergeSort(arr,((start+end)\/2)+1,end);\r\n    merge(arr,start,(start+end)\/2,end);\r\n}\r\n\r\nint main() {\r\n\r\n    long long n, k;\r\n     cin&gt;&gt; n&gt;&gt; k;\r\n\r\n    long long i, arr[n+1];\r\n    for(i=1;i&lt;=n;i++)\r\n        cin&gt;&gt;arr[i];\r\n\r\n    mergeSort(arr,1,n);    \r\n    long long mid = (n+1)\/2;\r\n    long long cnt = 1;\r\n    long long moves = 0;\r\n    while(moves &lt;= k &amp;&amp; mid &lt;= n-1)\r\n    {\r\n        long long diff = arr[mid+1] - arr[mid];\r\n        if(moves + diff*cnt &lt;= k)\r\n        {\r\n            moves += diff*cnt;\r\n            cnt++;\r\n            arr[mid] = arr[mid+1];\r\n            mid++;\r\n        }\r\n        else\r\n            break;\r\n    }\r\n    if(moves &lt;= k)\r\n    {\r\n        long long left = k - moves;\r\n        arr[mid] += left\/cnt;\r\n    }\r\n\r\n    cout&lt;&lt;arr[mid]&lt;&lt;'&#92;n';\r\n\r\n}\r\n<\/pre>\r\n<!-- \/wp:enlighter\/codeblock -->\r\n\t\t\t\t\t\t <\/div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t <div role=\"tabpanel\" class=\"tab-pane \" id=\"tabs_desc_1311_3\">\r\n\t\t\t\t\t\t\t\t<!-- wp:enlighter\/codeblock {\"language\":\"java\"} -->\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\r\nimport java.util.*;\r\nimport java.io.*;\r\n\r\npublic class Main {\r\n\r\n  static void merge(long arr[], int start, int mid, int end){\r\n    long left[] = new long[mid-start+1];\r\n    long right[] = new long[end-mid];\r\n\r\n    for(int i=start; i&lt;mid+1; i++){\r\n        left[i-start] =  arr[i];\r\n    }\r\n    for(int i=mid+1; i&lt;=end; i++){\r\n        right[i-(mid+1)] = arr[i];\r\n    }\r\n    int leftIndex=0, rightIndex=0, arrIndex=start;\r\n    for( ; leftIndex&lt;=mid-start &amp;&amp; rightIndex&lt;end-mid; arrIndex++){\r\n        if(left[leftIndex]&lt;right[rightIndex]){\r\n            arr[arrIndex] = left[leftIndex++];\r\n        }\r\n        else{\r\n            arr[arrIndex] = right[rightIndex++];\r\n        }\r\n    }\r\n\r\n    while(leftIndex&lt;=mid-start){\r\n        arr[arrIndex++] = left[leftIndex++];\r\n    }\r\n\r\n    while(rightIndex&lt;end-mid){\r\n        arr[arrIndex++] = right[rightIndex++];\r\n    }\r\n\r\n  }\r\n\r\n  static void mergeSort(long arr[], int start, int end){\r\n      if(end==start)\r\n          return;\r\n      mergeSort(arr,start,(start+end)\/2);\r\n      mergeSort(arr,((start+end)\/2)+1,end);\r\n      merge(arr,start,(start+end)\/2,end);\r\n  }\r\n\r\n  public static void main(String args[]) throws IOException {\r\n\r\n    Scanner sc = new Scanner(System.in);\r\n    int n = sc.nextInt(), k = sc.nextInt();\r\n\r\n    int i;\r\n    long arr[] = new long[n+1];\r\n    for(i=1;i&lt;=n;i++)\r\n          arr[i] = sc.nextLong();\r\n\r\n    mergeSort(arr,1,n);    \r\n    int mid = (n+1)\/2;\r\n    long cnt = 1;\r\n    long moves = 0;\r\n    while(moves &lt;= k &amp;&amp; mid &lt;= n-1)\r\n    {\r\n        long diff = arr[mid+1] - arr[mid];\r\n        if(moves + diff*cnt &lt;= k)\r\n        {\r\n            moves += diff*cnt;\r\n            cnt++;\r\n            arr[mid] = arr[mid+1];\r\n            mid++;\r\n        }\r\n        else\r\n            break;\r\n    }\r\n    if(moves &lt;= k)\r\n    {\r\n        long left = k - moves;\r\n        arr[mid] += left\/cnt;\r\n    }\r\n\r\n      System.out.println(arr[mid]);\r\n\r\n  }\r\n}\r\n<\/pre>\r\n<!-- \/wp:enlighter\/codeblock -->\r\n\t\t\t\t\t\t <\/div>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t <\/div>\r\n\t\t\t\t\t \r\n\t\t\t\t <\/div>\r\n <script>\r\n\t\tjQuery(function () {\r\n\t\t\tjQuery('#myTab_1311 a:first').tab('show')\r\n\t\t});\r\n\t\t\r\n\t\t\t\tjQuery(function(){\r\n\t\t\tvar b=\"fadeIn\";\r\n\t\t\tvar c;\r\n\t\t\tvar a;\r\n\t\t\td(jQuery(\"#myTab_1311 a\"),jQuery(\"#tab-content_1311\"));function d(e,f,g){\r\n\t\t\t\te.click(function(i){\r\n\t\t\t\t\ti.preventDefault();\r\n\t\t\t\t\tjQuery(this).tab(\"show\");\r\n\t\t\t\t\tvar h=jQuery(this).data(\"easein\");\r\n\t\t\t\t\tif(c){c.removeClass(a);}\r\n\t\t\t\t\tif(h){f.find(\"div.active\").addClass(\"animated \"+h);a=h;}\r\n\t\t\t\t\telse{if(g){f.find(\"div.active\").addClass(\"animated \"+g);a=g;}else{f.find(\"div.active\").addClass(\"animated \"+b);a=b;}}c=f.find(\"div.active\");\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t\t\r\n\r\n\t\tfunction do_resize(){\r\n\r\n\t\t\tvar width=jQuery( '.tab-content .tab-pane iframe' ).width();\r\n\t\t\tvar height=jQuery( '.tab-content .tab-pane iframe' ).height();\r\n\r\n\t\t\tvar toggleSize = true;\r\n\t\t\tjQuery('iframe').animate({\r\n\t\t\t    width: toggleSize ? width : 640,\r\n\t\t\t    height: toggleSize ? height : 360\r\n\t\t\t  }, 250);\r\n\r\n\t\t\t  toggleSize = !toggleSize;\r\n\t\t}\r\n\r\n\r\n\t<\/script>\r\n\t\t\t\t\r\n\t\t\t<br \/>\n<strong>Space Complexity : O(1)<\/strong><\/p>\n<p>[forminator_quiz id=&quot;1347&quot;]<\/p>\n<p>This article tried to discuss Sorting. Hope this blog helps you understand and solve the problem. To practice more problems on Sorting you can check out <a href=\"#\"><\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Concepts Used Sorting Difficulty Level Medium Problem Statement (Simplified): Find the maximum possible median of provided odd-sized array where you can increase any element by one where each increment is counted as one operation. You can do a maximum of K operation, where K is also provided. Median: Median of an array is the middle [&hellip;]<\/p>\n","protected":false},"author":52,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[92],"tags":[],"class_list":["post-1301","post","type-post","status-publish","format-standard","hentry","category-sorting-interview-programming"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Sorting Interview Programming | Median Again | Prepbytes<\/title>\n<meta name=\"description\" content=\"We Keep Increasing the Median to Make it Equal to Its Right Values Until it Reaches the Last Element (largest Value in Array) or Our Operation Limit Is Reached.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/prepbytes.com\/blog\/median-again\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Sorting Interview Programming | Median Again | Prepbytes\" \/>\n<meta property=\"og:description\" content=\"We Keep Increasing the Median to Make it Equal to Its Right Values Until it Reaches the Last Element (largest Value in Array) or Our Operation Limit Is Reached.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/prepbytes.com\/blog\/median-again\/\" \/>\n<meta property=\"og:site_name\" content=\"PrepBytes Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prepbytes0211\/\" \/>\n<meta property=\"article:published_time\" content=\"2020-07-01T09:50:50+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-03-23T23:45:31+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645174307817-Article_398.png\" \/>\n<meta name=\"author\" content=\"Prepbytes\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Prepbytes\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/prepbytes.com\/blog\/median-again\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/median-again\/\"},\"author\":{\"name\":\"Prepbytes\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e\"},\"headline\":\"Median Again\",\"datePublished\":\"2020-07-01T09:50:50+00:00\",\"dateModified\":\"2022-03-23T23:45:31+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/median-again\/\"},\"wordCount\":389,\"commentCount\":0,\"publisher\":{\"@id\":\"http:\/\/43.205.93.38\/#organization\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/median-again\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645174307817-Article_398.png\",\"articleSection\":[\"Sorting interview programming\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/prepbytes.com\/blog\/median-again\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/prepbytes.com\/blog\/median-again\/\",\"url\":\"https:\/\/prepbytes.com\/blog\/median-again\/\",\"name\":\"Sorting Interview Programming | Median Again | Prepbytes\",\"isPartOf\":{\"@id\":\"http:\/\/43.205.93.38\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/median-again\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/median-again\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645174307817-Article_398.png\",\"datePublished\":\"2020-07-01T09:50:50+00:00\",\"dateModified\":\"2022-03-23T23:45:31+00:00\",\"description\":\"We Keep Increasing the Median to Make it Equal to Its Right Values Until it Reaches the Last Element (largest Value in Array) or Our Operation Limit Is Reached.\",\"breadcrumb\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/median-again\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/prepbytes.com\/blog\/median-again\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/prepbytes.com\/blog\/median-again\/#primaryimage\",\"url\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645174307817-Article_398.png\",\"contentUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645174307817-Article_398.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/prepbytes.com\/blog\/median-again\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"http:\/\/43.205.93.38\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Sorting interview programming\",\"item\":\"https:\/\/prepbytes.com\/blog\/category\/sorting-interview-programming\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Median Again\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\/\/43.205.93.38\/#website\",\"url\":\"http:\/\/43.205.93.38\/\",\"name\":\"PrepBytes Blog\",\"description\":\"ONE-STOP RESOURCE FOR EVERYTHING RELATED TO CODING\",\"publisher\":{\"@id\":\"http:\/\/43.205.93.38\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\/\/43.205.93.38\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"http:\/\/43.205.93.38\/#organization\",\"name\":\"Prepbytes\",\"url\":\"http:\/\/43.205.93.38\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp\",\"contentUrl\":\"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp\",\"width\":160,\"height\":160,\"caption\":\"Prepbytes\"},\"image\":{\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/prepbytes0211\/\",\"https:\/\/www.instagram.com\/prepbytes\/\",\"https:\/\/www.linkedin.com\/company\/prepbytes\/\",\"https:\/\/www.youtube.com\/channel\/UC0xGnHDrjUM1pDEK2Ka5imA\"]},{\"@type\":\"Person\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e\",\"name\":\"Prepbytes\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g\",\"caption\":\"Prepbytes\"},\"url\":\"https:\/\/prepbytes.com\/blog\/author\/gourav-jaincollegedekho-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Sorting Interview Programming | Median Again | Prepbytes","description":"We Keep Increasing the Median to Make it Equal to Its Right Values Until it Reaches the Last Element (largest Value in Array) or Our Operation Limit Is Reached.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/prepbytes.com\/blog\/median-again\/","og_locale":"en_US","og_type":"article","og_title":"Sorting Interview Programming | Median Again | Prepbytes","og_description":"We Keep Increasing the Median to Make it Equal to Its Right Values Until it Reaches the Last Element (largest Value in Array) or Our Operation Limit Is Reached.","og_url":"https:\/\/prepbytes.com\/blog\/median-again\/","og_site_name":"PrepBytes Blog","article_publisher":"https:\/\/www.facebook.com\/prepbytes0211\/","article_published_time":"2020-07-01T09:50:50+00:00","article_modified_time":"2022-03-23T23:45:31+00:00","og_image":[{"url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645174307817-Article_398.png","type":"","width":"","height":""}],"author":"Prepbytes","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Prepbytes","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/prepbytes.com\/blog\/median-again\/#article","isPartOf":{"@id":"https:\/\/prepbytes.com\/blog\/median-again\/"},"author":{"name":"Prepbytes","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e"},"headline":"Median Again","datePublished":"2020-07-01T09:50:50+00:00","dateModified":"2022-03-23T23:45:31+00:00","mainEntityOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/median-again\/"},"wordCount":389,"commentCount":0,"publisher":{"@id":"http:\/\/43.205.93.38\/#organization"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/median-again\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645174307817-Article_398.png","articleSection":["Sorting interview programming"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/prepbytes.com\/blog\/median-again\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/prepbytes.com\/blog\/median-again\/","url":"https:\/\/prepbytes.com\/blog\/median-again\/","name":"Sorting Interview Programming | Median Again | Prepbytes","isPartOf":{"@id":"http:\/\/43.205.93.38\/#website"},"primaryImageOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/median-again\/#primaryimage"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/median-again\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645174307817-Article_398.png","datePublished":"2020-07-01T09:50:50+00:00","dateModified":"2022-03-23T23:45:31+00:00","description":"We Keep Increasing the Median to Make it Equal to Its Right Values Until it Reaches the Last Element (largest Value in Array) or Our Operation Limit Is Reached.","breadcrumb":{"@id":"https:\/\/prepbytes.com\/blog\/median-again\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/prepbytes.com\/blog\/median-again\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/prepbytes.com\/blog\/median-again\/#primaryimage","url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645174307817-Article_398.png","contentUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645174307817-Article_398.png"},{"@type":"BreadcrumbList","@id":"https:\/\/prepbytes.com\/blog\/median-again\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"http:\/\/43.205.93.38\/"},{"@type":"ListItem","position":2,"name":"Sorting interview programming","item":"https:\/\/prepbytes.com\/blog\/category\/sorting-interview-programming\/"},{"@type":"ListItem","position":3,"name":"Median Again"}]},{"@type":"WebSite","@id":"http:\/\/43.205.93.38\/#website","url":"http:\/\/43.205.93.38\/","name":"PrepBytes Blog","description":"ONE-STOP RESOURCE FOR EVERYTHING RELATED TO CODING","publisher":{"@id":"http:\/\/43.205.93.38\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/43.205.93.38\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"http:\/\/43.205.93.38\/#organization","name":"Prepbytes","url":"http:\/\/43.205.93.38\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/","url":"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp","contentUrl":"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp","width":160,"height":160,"caption":"Prepbytes"},"image":{"@id":"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/prepbytes0211\/","https:\/\/www.instagram.com\/prepbytes\/","https:\/\/www.linkedin.com\/company\/prepbytes\/","https:\/\/www.youtube.com\/channel\/UC0xGnHDrjUM1pDEK2Ka5imA"]},{"@type":"Person","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e","name":"Prepbytes","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g","caption":"Prepbytes"},"url":"https:\/\/prepbytes.com\/blog\/author\/gourav-jaincollegedekho-com\/"}]}},"_links":{"self":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/1301","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/users\/52"}],"replies":[{"embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/comments?post=1301"}],"version-history":[{"count":14,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/1301\/revisions"}],"predecessor-version":[{"id":8208,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/1301\/revisions\/8208"}],"wp:attachment":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/media?parent=1301"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/categories?post=1301"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/tags?post=1301"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}