{"id":1297,"date":"2020-07-01T09:28:48","date_gmt":"2020-07-01T09:28:48","guid":{"rendered":"https:\/\/blog.prepbytes.com\/?p=1297"},"modified":"2022-03-23T11:19:12","modified_gmt":"2022-03-23T11:19:12","slug":"aman-arithmetic-progression","status":"publish","type":"post","link":"https:\/\/prepbytes.com\/blog\/aman-arithmetic-progression\/","title":{"rendered":"Aman Arithmetic progression"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645094862897-Article_249.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>Print the total number of cases in which the current array sequence becomes Arithmetic Progression by adding a number at any place, also print the numbers.<\/p>\n<ul>\n<li><strong><em>Arithmetic Progression:<\/em><\/strong> Sequence increasing or decreasing with a constant <code>K<\/code> (common difference) is known as Arithmetic Progression.<\/li>\n<\/ul>\n<\/blockquote>\n<p><a href=\"https:\/\/mycode.prepbytes.com\/problems\/sorting\/ARITHNUM\" title=\"Go to mycode.prepbytes.com\" target=\"_blank\" rel=\"noopener noreferrer\"><u><strong><\/strong><\/u><\/a><\/p>\n<pre><code>\nInput:\n1\n3\n4 2 6\n\nOutput:\n2\n0 8\n\nExplanation:\nIn the given array,\nIf we introduce 0, the array becomes [0, 2, 4, 6] which is an Arithmetic Progression with common difference 2.\nIf we introduce 8, the array becomes [2, 4, 6, 8] which is an Arithmetic Progression with common difference 2.\nSo, we print 2, because there are two such numbers, also we print 0 and 8 because they&#039;re required numbers.<\/code><\/pre>\n<h3>Solving Approach :<\/h3>\n<p><strong>Bruteforce Approach<\/strong>:<br \/>\n1) We sort the array and introduce numbers one by one. After adding one number, we check if the current formed sequence is Arithmetic Progression or not. If yes, increase the count and print the note the added number.<br \/>\n2) After the whole array is traversed for adding the number, we print the count and print all the numbers noted in a row.<br \/>\n3) This approach takes <code>O(n*log(n))<\/code> for sorting array using merge sort, also <code>O(n+1)<\/code> to add numbers. This takes <code>O(n)<\/code> for checking if the current sequence is Arithmetic Progression or not for every addition. Hence total time complexity of this approach is O(n*log(n) + n<sup>2<\/sup>). This approach takes longer times to process a large number of queries, so we move to a new efficient approach.<\/p>\n<p>Efficient Approach:<\/p>\n<ol>\n<li>As we know Arithmetic Progression is always increasing or decreasing, so we sort the array so that it can be arranged in an increasing sequence.<\/li>\n<li>If the array contains only a <code>single element<\/code>, it is already an Arithmetic Progression, so no further elements are required to make it Arithmetic Progression.<\/li>\n<li>If the array contains only <code>2 elements<\/code>, there can be three possibilities :\n<ul>\n<li>A number can be added in front, where the common difference between the number and the first element is the same as the difference between array elements.<\/li>\n<li>A number can be added in last,  where the common difference between the number and last element is the same as the difference between array elements.<\/li>\n<li>A number can be added in middle, that would be the average of two elements in the array, where the sum of both elements must be even.<\/li>\n<\/ul>\n<\/li>\n<li>If the array contains more than 2 elements, the following cases, can arise :\n<ul>\n<li><strong><em>CASE-1:<\/em><\/strong> If the current array is already an Arithmetic Progression, we can add numbers in the last and first position as we discussed in point 2. Here no middle element is added.<\/li>\n<li><strong><em>CASE-2:<\/em><\/strong> If the array is not an Arithmetic Progression, we calculate all possible common differences, and see for these cases :\n<ol>\n<li>If there are more than 2 common differences, there is no way to convert the current array into Arithmetic Progression by adding a number.<\/li>\n<li>If there are two common difference, where both appears multiple times in sequence (multiple elements have them as common difference), then there is no possible way to convert the current array into an Arithmetic Progression.<\/li>\n<li>If there appears a common difference which is present only once, and other common difference appears the rest of the times. Let&#8217;s say multiple elements have <code>a<\/code> as common difference and there exist two elements whose difference is <code>b<\/code>. We can convert current sequence into an arithmetic progression only and only if <code>b<\/code> is double of <code>a<\/code> (2b = a), hence a number can be added between elements having common difference <code>b<\/code>, and number would be <code>A[k]+a<\/code> or <code>A[k+1]-a<\/code> where A[k+1]-A[k] = b.<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\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_1307 {\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_1307 .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_1307 .wpsm_nav-tabs {\r\n    border-bottom: 0px solid #ddd;\r\n}\r\n#tab_container_1307 .wpsm_nav-tabs > li.active > a, #tab_container_1307 .wpsm_nav-tabs > li.active > a:hover, #tab_container_1307 .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_1307 .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_1307 .wpsm_nav-tabs > li > a:focus {\r\noutline: 0px !important;\r\n}\r\n\r\n#tab_container_1307 .wpsm_nav-tabs > li > a:before {\r\n\tdisplay:none !important;\r\n}\r\n#tab_container_1307 .wpsm_nav-tabs > li > a:after {\r\n\tdisplay:none !important ;\r\n}\r\n#tab_container_1307 .wpsm_nav-tabs > li{\r\npadding:0px !important ;\r\nmargin:0px;\r\n}\r\n\r\n#tab_container_1307 .wpsm_nav-tabs > li > a:hover , #tab_container_1307 .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_1307 .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_1307 .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_1307 .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_1307 .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_1307 .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_1307 .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_1307 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_1307 .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_1307 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_1307 .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_1307 .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_1307\" >\r\n\t \r\n\t\t\t\t\t<ul class=\"wpsm_nav wpsm_nav-tabs\" role=\"tablist\" id=\"myTab_1307\">\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_1307_1\" aria-controls=\"tabs_desc_1307_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_1307_2\" aria-controls=\"tabs_desc_1307_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_1307_3\" aria-controls=\"tabs_desc_1307_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_1307\">\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_1307_1\">\r\n\t\t\t\t\t\t\t\t\r\n<!-- 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#include &lt;stdio.h&gt;\r\n\r\nvoid merge(int arr[], int start, int mid, int end){\r\n    int left[mid-start+1];\r\n    int 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(int 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\r\nint main()\r\n{\r\n   int t;\r\n   scanf(&quot;%d&quot;,&amp;t);\r\n\r\n   while(t--){\r\n    int n;\r\n    scanf(&quot;%d&quot;,&amp;n);\r\n\r\n    int d[n], count=0;\r\n    int a[n+1];\r\n    for(int i=1;i&lt;=n;i++)\r\n        scanf(&quot;%d&quot;,&amp;a[i]);\r\n\r\n    if(n==1){\r\n        printf(&quot;-1&#92;n&quot;);\r\n        continue;\r\n    }\r\n\r\n    mergeSort(a,1,n);\r\n\r\n    if(a[1]==a[n])\r\n    {\r\n        printf(&quot;1&#92;n&quot;);\r\n        printf(&quot;%d&#92;n&quot;,a[1]);\r\n        continue;\r\n    }\r\n\r\n    for(int i=2;i&lt;=n;i++)\r\n        d[count++] = a[i]-a[i-1];\r\n\r\n    mergeSort(d,0,count-1);\r\n\r\n    int len=d[0];\r\n\r\n    if(n==2 &amp;&amp; len%2==0){\r\n        printf(&quot;3&#92;n&quot;);\r\n        printf(&quot;%d %d %d&#92;n&quot;,a[1]-len,a[1]+len\/2,a[2]+len);\r\n        continue;\r\n    }\r\n    if(count&gt;2 &amp;&amp; d[0]!=d[count-2])\r\n        printf(&quot;0&#92;n&quot;);\r\n    else if(count&gt;1 &amp;&amp; d[count-1]&gt;len){\r\n        if(d[count - 1] != len + len)\r\n            printf(&quot;0&#92;n&quot;);\r\n        else\r\n        {\r\n            printf(&quot;1&#92;n&quot;);\r\n            for(int i=2;i&lt;=n;i++)\r\n                if(a[i]-a[i-1]!=len)\r\n                    printf(&quot;%d&#92;n&quot;,a[i-1]+len);\r\n            }\r\n        }\r\n        else{\r\n            printf(&quot;2&#92;n&quot;);\r\n            printf(&quot;%d %d&#92;n&quot;,a[1]-len,a[n]+len);\r\n        }\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_1307_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(int arr[], int start, int mid, int end){\r\n    int left[mid-start+1]={0};\r\n    int 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(int 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\r\nint main()\r\n{\r\n   int t;\r\n   cin&gt;&gt;t;\r\n   while(t--){\r\n    int n;\r\n    cin&gt;&gt;n;\r\n\r\n    int d[n], count=0;\r\n    int a[n+1];\r\n    for(int i=1;i&lt;=n;i++)\r\n      cin&gt;&gt;a[i];\r\n\r\n    if(n==1){\r\n        cout&lt;&lt;-1&lt;&lt;endl;\r\n        continue;\r\n    }\r\n\r\n    mergeSort(a,1,n);\r\n\r\n    if(a[1]==a[n])\r\n    {\r\n        cout&lt;&lt;1&lt;&lt;endl&lt;&lt;a[1]&lt;&lt;endl;\r\n        continue;\r\n    }\r\n\r\n    for(int i=2;i&lt;=n;i++)\r\n        d[count++] = a[i]-a[i-1];\r\n\r\n    mergeSort(d,0,count-1);\r\n\r\n    int len=d[0];\r\n\r\n    if(n==2 &amp;&amp; len%2==0){\r\n        cout&lt;&lt;3&lt;&lt;endl&lt;&lt;a[1]-len&lt;&lt; &quot; &quot;&lt;&lt;a[1]+len\/2&lt;&lt;&quot; &quot;&lt;&lt;a[2]+len&lt;&lt;endl;\r\n        continue;\r\n    }\r\n    if(count&gt;2 &amp;&amp; d[0]!=d[count-2])\r\n        cout&lt;&lt;&quot;0&quot;&lt;&lt;endl;\r\n    else if(count&gt;1 &amp;&amp; d[count-1]&gt;len){\r\n        if(d[count - 1] != len + len)\r\n            cout&lt;&lt;&quot;0&quot;&lt;&lt;endl;\r\n        else\r\n        {\r\n            cout&lt;&lt;1&lt;&lt;endl;\r\n            for(int i=2;i&lt;=n;i++)\r\n                if(a[i]-a[i-1]!=len)\r\n                    cout&lt;&lt;a[i-1]+len&lt;&lt;endl;\r\n            }\r\n        }\r\n    else\r\n       cout&lt;&lt;2&lt;&lt;endl&lt;&lt;a[1]-len&lt;&lt;&quot; &quot;&lt;&lt;a[n]+len&lt;&lt;endl;\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_1307_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\npublic class Main\r\n{\r\n    static void merge(int arr[], int start, int mid, int end){\r\n        int left[] = new int[mid-start+1];\r\n        int right[] = new int[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\n    static void mergeSort(int 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) {\r\n\r\n       Scanner sc = new Scanner(System.in);\r\n       int t = sc.nextInt();\r\n\r\n       while(t--&gt;0){\r\n        int n = sc.nextInt();\r\n\r\n        int d[] = new int[n], count=0;\r\n        int a[] = new int[n+1];\r\n        for(int i=1;i&lt;=n;i++)\r\n            a[i] = sc.nextInt();\r\n\r\n        if(n==1){\r\n            System.out.println(&quot;-1&quot;);\r\n            continue;\r\n        }\r\n\r\n        mergeSort(a,1,n);\r\n\r\n        if(a[1]==a[n])\r\n        {\r\n            System.out.println(&quot;1&quot;);\r\n            System.out.println(a[1]);\r\n            continue;\r\n        }\r\n\r\n        for(int i=2;i&lt;=n;i++)\r\n            d[count++] = a[i]-a[i-1];\r\n\r\n        mergeSort(d,0,count-1);\r\n\r\n        int len=d[0];\r\n\r\n        if(n==2 &amp;&amp; len%2==0){\r\n            System.out.println(&quot;3&quot;);\r\n            System.out.println((a[1]-len) + &quot; &quot; + (a[1]+len\/2) + &quot; &quot; + (a[2]+len));\r\n            continue;\r\n        }\r\n        if(count&gt;2 &amp;&amp; d[0]!=d[count-2])\r\n            System.out.println(&quot;0&quot;);\r\n        else if(count&gt;1 &amp;&amp; d[count-1]&gt;len){\r\n            if(d[count - 1] != len + len)\r\n                System.out.println(&quot;0&quot;);\r\n            else\r\n            {\r\n                System.out.println(&quot;1&quot;);\r\n                for(int i=2;i&lt;=n;i++)\r\n                    if(a[i]-a[i-1]!=len)\r\n                        System.out.println((a[i-1]+len));\r\n                }\r\n            }\r\n            else{\r\n                System.out.println(&quot;2&quot;);\r\n                System.out.println((a[1]-len) + &quot; &quot; + (a[n]+len));\r\n            }\r\n        }\r\n\r\n    }\r\n}\/* package whatever; \/\/ don't place package name! *\/\r\n\r\nimport java.util.*;\r\nimport java.lang.*;\r\nimport java.io.*;\r\n\r\n\/* Name of the class has to be \"Main\" only if the class is public. *\/\r\nclass Ideone\r\n{\r\n\tpublic static void main (String[] args) throws java.lang.Exception\r\n\t{\r\n\t\t\/\/ your code goes here\r\n\t}\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_1307 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_1307 a\"),jQuery(\"#tab-content_1307\"));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<\/strong> : O(1) <\/p>\n<p>[forminator_quiz id=&quot;1332&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): Print the total number of cases in which the current array sequence becomes Arithmetic Progression by adding a number at any place, also print the numbers. Arithmetic Progression: Sequence increasing or decreasing with a constant K (common difference) is known as Arithmetic Progression. Input: 1 3 [&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-1297","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 | Aman Arithmetic Progression | Prepbytes<\/title>\n<meta name=\"description\" content=\"Print the Total Number of Cases in Which the Current Array Sequence Becomes Arithmetic Progression by Adding a Number at Any Place, Also Print the Numbers.\" \/>\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\/aman-arithmetic-progression\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Sorting Interview Programming | Aman Arithmetic Progression | Prepbytes\" \/>\n<meta property=\"og:description\" content=\"Print the Total Number of Cases in Which the Current Array Sequence Becomes Arithmetic Progression by Adding a Number at Any Place, Also Print the Numbers.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/prepbytes.com\/blog\/aman-arithmetic-progression\/\" \/>\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:28:48+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-03-23T11:19:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645094862897-Article_249.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=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/prepbytes.com\/blog\/aman-arithmetic-progression\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/aman-arithmetic-progression\/\"},\"author\":{\"name\":\"Prepbytes\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e\"},\"headline\":\"Aman Arithmetic progression\",\"datePublished\":\"2020-07-01T09:28:48+00:00\",\"dateModified\":\"2022-03-23T11:19:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/aman-arithmetic-progression\/\"},\"wordCount\":558,\"commentCount\":0,\"publisher\":{\"@id\":\"http:\/\/43.205.93.38\/#organization\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/aman-arithmetic-progression\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645094862897-Article_249.png\",\"articleSection\":[\"Sorting interview programming\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/prepbytes.com\/blog\/aman-arithmetic-progression\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/prepbytes.com\/blog\/aman-arithmetic-progression\/\",\"url\":\"https:\/\/prepbytes.com\/blog\/aman-arithmetic-progression\/\",\"name\":\"Sorting Interview Programming | Aman Arithmetic Progression | Prepbytes\",\"isPartOf\":{\"@id\":\"http:\/\/43.205.93.38\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/aman-arithmetic-progression\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/aman-arithmetic-progression\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645094862897-Article_249.png\",\"datePublished\":\"2020-07-01T09:28:48+00:00\",\"dateModified\":\"2022-03-23T11:19:12+00:00\",\"description\":\"Print the Total Number of Cases in Which the Current Array Sequence Becomes Arithmetic Progression by Adding a Number at Any Place, Also Print the Numbers.\",\"breadcrumb\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/aman-arithmetic-progression\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/prepbytes.com\/blog\/aman-arithmetic-progression\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/prepbytes.com\/blog\/aman-arithmetic-progression\/#primaryimage\",\"url\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645094862897-Article_249.png\",\"contentUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645094862897-Article_249.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/prepbytes.com\/blog\/aman-arithmetic-progression\/#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\":\"Aman Arithmetic progression\"}]},{\"@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 | Aman Arithmetic Progression | Prepbytes","description":"Print the Total Number of Cases in Which the Current Array Sequence Becomes Arithmetic Progression by Adding a Number at Any Place, Also Print the Numbers.","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\/aman-arithmetic-progression\/","og_locale":"en_US","og_type":"article","og_title":"Sorting Interview Programming | Aman Arithmetic Progression | Prepbytes","og_description":"Print the Total Number of Cases in Which the Current Array Sequence Becomes Arithmetic Progression by Adding a Number at Any Place, Also Print the Numbers.","og_url":"https:\/\/prepbytes.com\/blog\/aman-arithmetic-progression\/","og_site_name":"PrepBytes Blog","article_publisher":"https:\/\/www.facebook.com\/prepbytes0211\/","article_published_time":"2020-07-01T09:28:48+00:00","article_modified_time":"2022-03-23T11:19:12+00:00","og_image":[{"url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645094862897-Article_249.png","type":"","width":"","height":""}],"author":"Prepbytes","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Prepbytes","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/prepbytes.com\/blog\/aman-arithmetic-progression\/#article","isPartOf":{"@id":"https:\/\/prepbytes.com\/blog\/aman-arithmetic-progression\/"},"author":{"name":"Prepbytes","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e"},"headline":"Aman Arithmetic progression","datePublished":"2020-07-01T09:28:48+00:00","dateModified":"2022-03-23T11:19:12+00:00","mainEntityOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/aman-arithmetic-progression\/"},"wordCount":558,"commentCount":0,"publisher":{"@id":"http:\/\/43.205.93.38\/#organization"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/aman-arithmetic-progression\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645094862897-Article_249.png","articleSection":["Sorting interview programming"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/prepbytes.com\/blog\/aman-arithmetic-progression\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/prepbytes.com\/blog\/aman-arithmetic-progression\/","url":"https:\/\/prepbytes.com\/blog\/aman-arithmetic-progression\/","name":"Sorting Interview Programming | Aman Arithmetic Progression | Prepbytes","isPartOf":{"@id":"http:\/\/43.205.93.38\/#website"},"primaryImageOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/aman-arithmetic-progression\/#primaryimage"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/aman-arithmetic-progression\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645094862897-Article_249.png","datePublished":"2020-07-01T09:28:48+00:00","dateModified":"2022-03-23T11:19:12+00:00","description":"Print the Total Number of Cases in Which the Current Array Sequence Becomes Arithmetic Progression by Adding a Number at Any Place, Also Print the Numbers.","breadcrumb":{"@id":"https:\/\/prepbytes.com\/blog\/aman-arithmetic-progression\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/prepbytes.com\/blog\/aman-arithmetic-progression\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/prepbytes.com\/blog\/aman-arithmetic-progression\/#primaryimage","url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645094862897-Article_249.png","contentUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645094862897-Article_249.png"},{"@type":"BreadcrumbList","@id":"https:\/\/prepbytes.com\/blog\/aman-arithmetic-progression\/#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":"Aman Arithmetic progression"}]},{"@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\/1297","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=1297"}],"version-history":[{"count":9,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/1297\/revisions"}],"predecessor-version":[{"id":8178,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/1297\/revisions\/8178"}],"wp:attachment":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/media?parent=1297"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/categories?post=1297"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/tags?post=1297"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}