{"id":9210,"date":"2022-08-29T11:57:07","date_gmt":"2022-08-29T11:57:07","guid":{"rendered":"https:\/\/www.prepbytes.com\/blog\/?p=9210"},"modified":"2022-10-10T04:12:47","modified_gmt":"2022-10-10T04:12:47","slug":"maximum-product-of-indexes-of-next-greater-on-left-and-right","status":"publish","type":"post","link":"https:\/\/prepbytes.com\/blog\/maximum-product-of-indexes-of-next-greater-on-left-and-right\/","title":{"rendered":"Maximum Product of Indexes of next greater on Left and Right"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661772736848-Maximum%20product%20of%20indexes%20of%20next%20greater%20on%20left%20and%20right%20-%20Header.jpg\" alt=\"\" \/><\/p>\n<h3>Problem Statement<\/h3>\n<p>You are given an <a href=\"https:\/\/prepbytes.com\/blog\/tag\/arrays\/\" title=\"array\">array<\/a> A. Let us say that the array has indices from 1 to N. For each index i in the array:<\/p>\n<ol>\n<li>The quantity L(i) is the closest index (say j) to the left of the index i i.e. j &lt; i such that a[j] &gt; a[i]. This means that L(i) represents the index of the Next Greater Element (NGE) to the left for index i. If there is no NGE to the left of index i, L(i) = 0.<\/li>\n<li>The quantity R(i) is the closest index (say k) to the right of the index i i.e. i &lt; k such that a[k] &gt; a[i]. This means that R(i) represents the index of the Next Greater Element (NGE) to the right of index i. If there is no NGE to the right of index i, R(i) = 0.<\/li>\n<li>The quantity LRProduct(i) for each index i of the array is the product of L(i) and R(i) i.e. LRProduct(i) = L(i) <em> R(i) = j <\/em> k. Thus, it is the maximum product of indexes of next greater on left and right.<\/li>\n<\/ol>\n<p>You have to return the index that has the maximum value of LRProduct. Please note that the array has 1-based indexing.<\/p>\n<p><strong>Example<\/strong><br \/>\nConsider the example shown below.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661772773513-Maximum%20product%20of%20indexes%20of%20next%20greater%20on%20left%20and%20right-1.png\" alt=\"\" \/><\/p>\n<p>So, in the above example, we see that we have the array L that stores the index of NGE to the left for every index. For all those indexes where there is no NGE to the left, we have stored 0. Similarly, the array R stores the index of the NGE to the right for every index of the array and we have stored 0 for all those indexes that do not have any NGE to the right.<\/p>\n<p>The maximum product is for index 5. Hence the answer will be 5.<\/p>\n<h3>Approach<\/h3>\n<p>We have to fill 2 arrays, one with the next greater element (NGE) to the left and the other with NGE to the right. Let us first see how to fill the L array. <\/p>\n<h5>Next Greater Element (NGE) to the Left<\/h5>\n<p>Consider the array shown below.<br \/>\n<img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661772819889-Maximum%20product%20of%20indexes%20of%20next%20greater%20on%20left%20and%20right-2.png\" alt=\"\" \/><\/p>\n<p>So, we have an empty L array that we have to fill. Let us take a Stack and let us take a pointer at index 0 as shown below.<br \/>\n<img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661772883767-Maximum%20product%20of%20indexes%20of%20next%20greater%20on%20left%20and%20right-3.png\" alt=\"\" \/><\/p>\n<p>For index 0, there is no element to the left. Hence, there will not be any NGE to the left. So, L[0] = 0, and we push the index 0 into the stack.<br \/>\n<img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661772918251-Maximum%20product%20of%20indexes%20of%20next%20greater%20on%20left%20and%20right-4.png\" alt=\"\" \/><\/p>\n<p>Now, array[i] = array[1] = 8 is less than array[top of stack]. So, the top of the stack will become the next greater element (NGE) to the left for index 1. Hence, L[1] = 0.   <\/p>\n<p>However, in the question, since we are given 1-based indexing, L[1] = top of stack + 1. Hence, L[1] = 0+1 = 1.<\/p>\n<p>We will also push the current index into the stack because the element at our index can be an NGE for some other index moving forward.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661773312029-Maximum%20product%20of%20indexes%20of%20next%20greater%20on%20left%20and%20right-5.png\" alt=\"\" \/><\/p>\n<p>So, we can establish the following conclusion from above.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661773337342-Maximum%20product%20of%20indexes%20of%20next%20greater%20on%20left%20and%20right-6.png\" alt=\"\" \/><\/p>\n<p>So, using this conclusion, we can fill our answers till index 3 as shown below.<br \/>\n<img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661773360776-Maximum%20product%20of%20indexes%20of%20next%20greater%20on%20left%20and%20right-7.png\n\" alt=\"\" \/><\/p>\n<p>Now, at index 4, arr[i] &gt; arr[top]. So, we have to pop from the stack till the stack is not empty and arr[i] &gt; arr[top].<br \/>\n<img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661773407104-Maximum%20product%20of%20indexes%20of%20next%20greater%20on%20left%20and%20right-8.png\" alt=\"\" \/><\/p>\n<p>So, after popping the elements from the stack, the next step is same as above.<br \/>\n<img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661773444450-Maximum%20product%20of%20indexes%20of%20next%20greater%20on%20left%20and%20right-9.png\" alt=\"\" \/><\/p>\n<p>So, the conclusion that we derive from here is shown below.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661773463016-Maximum%20product%20of%20indexes%20of%20next%20greater%20on%20left%20and%20right-10.png\" alt=\"\" \/><\/p>\n<p>One thing is left to discuss. What if we keep popping from the stack and it becomes empty? Consider the case when i moves to the next index i.e. index 5.<br \/>\n<img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661773497256-Maximum%20product%20of%20indexes%20of%20next%20greater%20on%20left%20and%20right-11.png\" alt=\"\" \/><\/p>\n<p>In this case, value at index 5 is greater than all the other values. So, the stack becomes empty. In this case, stack being empty means that there is no NGE to the left. Hence, L[i] = 0. Also, we will push the current index into the stack.<br \/>\n<img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661773520264-Maximum%20product%20of%20indexes%20of%20next%20greater%20on%20left%20and%20right-12.png\" alt=\"\" \/><\/p>\n<p>So, the conclusion derived from here is shown below.<br \/>\n<img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661773537465-Maximum%20product%20of%20indexes%20of%20next%20greater%20on%20left%20and%20right-13.png\" alt=\"\" \/><\/p>\n<p>Now, try filling the last index of L array yourself. It is as shown below.<br \/>\n<img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661773560849-Maximum%20product%20of%20indexes%20of%20next%20greater%20on%20left%20and%20right-14.png\" alt=\"\" \/><\/p>\n<p>So, we have completely filled the L array. Now, we have to fill the R array. Let us discuss it.<\/p>\n<h5>Next Greater Element (NGE) to the Right<\/h5>\n<p>This process is a little bit different from the previous one. Here, let us assume that we have once filled the array with all 0s and have already pushed the 0 index into the stack as shown below.<br \/>\n<img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661773659474-Maximum%20product%20of%20indexes%20of%20next%20greater%20on%20left%20and%20right-15.png\" alt=\"\" \/><\/p>\n<p>We start iterating from index 1. Since arr[i] = arr[1] = 8 &lt; arr[top], i cannot be the NGE index for the top of the stack i.e. index 0. However, it can be an NGE index for some other index moving forward. Hence, we will push it into the stack.<br \/>\n<img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661773677569-Maximum%20product%20of%20indexes%20of%20next%20greater%20on%20left%20and%20right-16.png\" alt=\"\" \/><\/p>\n<p>The conclusion that we devise from here is given below.<br \/>\n<img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661773696311-Maximum%20product%20of%20indexes%20of%20next%20greater%20on%20left%20and%20right-17.png\" alt=\"\" \/><\/p>\n<p>So, with this conclusion, we will move till index 3 and no change will take place in the R array.<br \/>\n<img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661773717747-Maximum%20product%20of%20indexes%20of%20next%20greater%20on%20left%20and%20right-18.png\" alt=\"\" \/><\/p>\n<p>Now, arr[i] = arr[4] = 4 is greater than arr[top] = arr[3] = 3. So, i=4 will be the NGE index for the top of the stack. Hence, we pop it from the stack, and R[top] = i + 1. We have done plus 1 because the indices in the question are 1-based.<\/p>\n<p>Also, we will do this till the stack is not empty and arr[i] &gt; arr[top].<br \/>\n<img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661773739732-Maximum%20product%20of%20indexes%20of%20next%20greater%20on%20left%20and%20right-19.png\" alt=\"\" \/><\/p>\n<p>The conclusion that we draw from here is shown below.<br \/>\n<img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661773755873-Maximum%20product%20of%20indexes%20of%20next%20greater%20on%20left%20and%20right-20.png\" alt=\"\" \/><\/p>\n<p>So, when we are at index = 5, we can see this better as shown below.<br \/>\n<img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661773771078-Maximum%20product%20of%20indexes%20of%20next%20greater%20on%20left%20and%20right-21.png\" alt=\"\" \/><\/p>\n<p>Finally, the R array gets completely filled.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661773799350-Maximum%20product%20of%20indexes%20of%20next%20greater%20on%20left%20and%20right-22.png\" alt=\"\" \/><\/p>\n<p>So, we have learnt the Next Greater Element to the Right.<br \/>\nAfter filling both these arrays, we will take a variable maximum that can initially be assigned minus infinity. Also, we will assign a variable maxIndex, that will tell us the index of the maximum product.<\/p>\n<p>Now, we can traverse the left and right arrays, calculate the product at each index and find the maximum product. Also, we will keep on updating the maxIndex. This is shown below.<br \/>\n<img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661773820719-Maximum%20product%20of%20indexes%20of%20next%20greater%20on%20left%20and%20right-23.png\" alt=\"\" \/><\/p>\n<p>So, the final answer is maxIdx + 1 = 4 + 1 = 5. (Since the indices are 1-based).<\/p>\n<p>Now that we have discussed the complete procedure, let us write the code for the same.<\/p>\n<h3>Code Implementation:<\/h3>\n\t\t\t\t\t\t<style>\r\n\t\t\t\t\r\n\t\t\t\t\t#tab_container_9398 {\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_9398 .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_9398 .wpsm_nav-tabs {\r\n    border-bottom: 0px solid #ddd;\r\n}\r\n#tab_container_9398 .wpsm_nav-tabs > li.active > a, #tab_container_9398 .wpsm_nav-tabs > li.active > a:hover, #tab_container_9398 .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_9398 .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_9398 .wpsm_nav-tabs > li > a:focus {\r\noutline: 0px !important;\r\n}\r\n\r\n#tab_container_9398 .wpsm_nav-tabs > li > a:before {\r\n\tdisplay:none !important;\r\n}\r\n#tab_container_9398 .wpsm_nav-tabs > li > a:after {\r\n\tdisplay:none !important ;\r\n}\r\n#tab_container_9398 .wpsm_nav-tabs > li{\r\npadding:0px !important ;\r\nmargin:0px;\r\n}\r\n\r\n#tab_container_9398 .wpsm_nav-tabs > li > a:hover , #tab_container_9398 .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_9398 .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_9398 .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_9398 .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_9398 .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_9398 .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_9398 .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_9398 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_9398 .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_9398 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_9398 .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_9398 .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_9398\" >\r\n\t \r\n\t\t\t\t\t<ul class=\"wpsm_nav wpsm_nav-tabs\" role=\"tablist\" id=\"myTab_9398\">\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_9398_1\" aria-controls=\"tabs_desc_9398_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_9398_2\" aria-controls=\"tabs_desc_9398_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>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_9398\">\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_9398_1\">\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 NGELeft(int arr[], int L[], int n) {\r\n    stack&lt;int&gt; stk;\r\n        \r\n        for(int i=0;i&lt;n;i++) {\r\n            while(stk.size() &gt; 0 &amp;&amp; arr[stk.top()] &lt; arr[i]) {\r\n                stk.pop();\r\n            }\r\n            \r\n            if(stk.size() == 0) {\r\n                L[i] = 0;\r\n            } else {\r\n                L[i] = stk.top() + 1;\r\n            }\r\n            \r\n            stk.push(i);\r\n        }\r\n}\r\n\r\nvoid NGERight(int arr[], int R[],int n) {\r\n        for(int i=0;i&lt;n;i++) {\r\n            R[i] = 0;\r\n        }\r\n    \r\n        stack&lt;int&gt; stk;\r\n        stk.push(0);\r\n        \r\n        for(int i=0;i&lt;n;i++) {\r\n            if(arr[i] &lt; arr[stk.top()]) {\r\n                stk.push(i);\r\n            } else {\r\n                while(stk.size() &gt; 0 &amp;&amp; arr[stk.top()] &lt; arr[i]) {\r\n                    int idx = stk.top();\r\n                    stk.pop();\r\n                    R[idx] = i + 1;\r\n                }\r\n                stk.push(i);\r\n            }\r\n        }\r\n}\r\n\r\nint solve(int L[], int R[],int n) {\r\n        int max = INT_MIN;\r\n        int maxIdx = -1;\r\n        \r\n        for(int i=0;i&lt;n;i++) {\r\n            if(max &lt; L[i] * R[i]) {\r\n                max = L[i] * R[i];\r\n                maxIdx = i;\r\n            }\r\n        }\r\n        \r\n        return maxIdx;\r\n}\r\n\r\nint main() {\r\n    int arr[] = {9,8,6,3,4,10,2};\r\n    int n = sizeof(arr)\/sizeof(arr[0]);\r\n    \r\n    int L[n];\r\n    NGELeft(arr,L,n);\r\n    \r\n    int R[n];\r\n    NGERight(arr,R,n);\r\n    \r\n    int res = solve(L,R,n) + 1;\r\n    cout&lt;&lt;res;\r\n}\r\n<\/pre>\r\n<!-- \/wp:enlighter\/codeblock -->\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_9398_2\">\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\n\/\/ &quot;static void main&quot; must be defined in a public class.\r\nimport java.util.*;\r\npublic class Main {\r\n    \r\n    public static void NGELeft(int[] arr, int[] L) {\r\n        Stack&lt;Integer&gt; stk = new Stack&lt;&gt;();\r\n        \r\n        for(int i=0;i&lt;arr.length;i++) {\r\n            while(stk.size() &gt; 0 &amp;&amp; arr[stk.peek()] &lt; arr[i]) {\r\n                stk.pop();\r\n            }\r\n            \r\n            if(stk.size() == 0) {\r\n                L[i] = 0;\r\n            } else {\r\n                L[i] = stk.peek() + 1;\r\n            }\r\n            \r\n            stk.push(i);\r\n        }\r\n    }\r\n    \r\n    public static void NGERight(int[] arr, int[] R) {\r\n        Arrays.fill(R,0);\r\n        Stack&lt;Integer&gt; stk = new Stack&lt;&gt;();\r\n        stk.push(0);\r\n        \r\n        for(int i=0;i&lt;arr.length;i++) {\r\n            if(arr[i] &lt; arr[stk.peek()]) {\r\n                stk.push(i);\r\n            } else {\r\n                while(stk.size() &gt; 0 &amp;&amp; arr[stk.peek()] &lt; arr[i]) {\r\n                    int idx = stk.pop();\r\n                    R[idx] = i + 1;\r\n                }\r\n                stk.push(i);\r\n            }\r\n        }\r\n    }\r\n    \r\n    public static int solve(int[] L, int[] R) {\r\n        int max = Integer.MIN_VALUE;\r\n        int maxIdx = -1;\r\n        \r\n        for(int i=0;i&lt;L.length;i++) {\r\n            if(max &lt; L[i] * R[i]) {\r\n                max = L[i] * R[i];\r\n                maxIdx = i;\r\n            }\r\n        }\r\n        \r\n        return maxIdx;\r\n    }\r\n    \r\n    public static void main(String[] args) {\r\n        int[] arr = {9,8,6,3,4,10,2};\r\n        int[] L = new int[arr.length];\r\n        NGELeft(arr,L);\r\n        \r\n        int[] R = new int[arr.length];\r\n        NGERight(arr,R);\r\n        \r\n        System.out.println(solve(L,R) + 1);\r\n    }\r\n}\r\n<\/pre>\r\n<!-- \/wp:enlighter\/codeblock -->\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_9398 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_9398 a\"),jQuery(\"#tab-content_9398\"));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\n<p><strong>Time Complexity<\/strong><\/p>\n<p>The time complexity is O(N) for calculating the NGE to the left and right. <\/p>\n<p><strong>Space Complexity<\/strong><\/p>\n<p>The space complexity is O(N) as we have used 2 auxiliary arrays L and R.<\/p>\n<p><strong>Follow up<\/strong>: We can also solve this problem using 1 array only. The time complexity will still be O(N) and the space complexity will also be O(N) only. However, instead of 2 arrays L and R, we can just use any 1 array. How? Let us say we first fill up the L array. Now, when we find NGE to the right, we don\u2019t fill it in a separate array, but rather multiply it with the L[i] and store it at L[i] only. Try to code this yourself.<\/p>\n<p>This article tried to discuss the Maximum Product of Indexes of next greater on Left and Right. Hope this blog helps you understand and solve the problem. To Practice more problems you can check out <a href=\"#\"><\/a> at <a href=\"https:\/\/www.prepbytes.com\/\"> PrepBytes<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Problem Statement You are given an array A. Let us say that the array has indices from 1 to N. For each index i in the array: The quantity L(i) is the closest index (say j) to the left of the index i i.e. j &lt; i such that a[j] &gt; a[i]. This means that [&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":[127],"tags":[],"class_list":["post-9210","post","type-post","status-publish","format-standard","hentry","category-stacks"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Maximum Product of Indexes of next greater on Left and Right<\/title>\n<meta name=\"description\" content=\"In this article we have discussed the best approach to find Maximum Product of Indexes of next greater on Left and Right.\" \/>\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\/maximum-product-of-indexes-of-next-greater-on-left-and-right\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Maximum Product of Indexes of next greater on Left and Right\" \/>\n<meta property=\"og:description\" content=\"In this article we have discussed the best approach to find Maximum Product of Indexes of next greater on Left and Right.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/prepbytes.com\/blog\/maximum-product-of-indexes-of-next-greater-on-left-and-right\/\" \/>\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=\"2022-08-29T11:57:07+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-10-10T04:12:47+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661772736848-Maximum%20product%20of%20indexes%20of%20next%20greater%20on%20left%20and%20right%20-%20Header.jpg\" \/>\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=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/prepbytes.com\/blog\/maximum-product-of-indexes-of-next-greater-on-left-and-right\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/maximum-product-of-indexes-of-next-greater-on-left-and-right\/\"},\"author\":{\"name\":\"Prepbytes\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e\"},\"headline\":\"Maximum Product of Indexes of next greater on Left and Right\",\"datePublished\":\"2022-08-29T11:57:07+00:00\",\"dateModified\":\"2022-10-10T04:12:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/maximum-product-of-indexes-of-next-greater-on-left-and-right\/\"},\"wordCount\":1180,\"commentCount\":0,\"publisher\":{\"@id\":\"http:\/\/43.205.93.38\/#organization\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/maximum-product-of-indexes-of-next-greater-on-left-and-right\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661772736848-Maximum%20product%20of%20indexes%20of%20next%20greater%20on%20left%20and%20right%20-%20Header.jpg\",\"articleSection\":[\"Stacks\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/prepbytes.com\/blog\/maximum-product-of-indexes-of-next-greater-on-left-and-right\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/prepbytes.com\/blog\/maximum-product-of-indexes-of-next-greater-on-left-and-right\/\",\"url\":\"https:\/\/prepbytes.com\/blog\/maximum-product-of-indexes-of-next-greater-on-left-and-right\/\",\"name\":\"Maximum Product of Indexes of next greater on Left and Right\",\"isPartOf\":{\"@id\":\"http:\/\/43.205.93.38\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/maximum-product-of-indexes-of-next-greater-on-left-and-right\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/maximum-product-of-indexes-of-next-greater-on-left-and-right\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661772736848-Maximum%20product%20of%20indexes%20of%20next%20greater%20on%20left%20and%20right%20-%20Header.jpg\",\"datePublished\":\"2022-08-29T11:57:07+00:00\",\"dateModified\":\"2022-10-10T04:12:47+00:00\",\"description\":\"In this article we have discussed the best approach to find Maximum Product of Indexes of next greater on Left and Right.\",\"breadcrumb\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/maximum-product-of-indexes-of-next-greater-on-left-and-right\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/prepbytes.com\/blog\/maximum-product-of-indexes-of-next-greater-on-left-and-right\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/prepbytes.com\/blog\/maximum-product-of-indexes-of-next-greater-on-left-and-right\/#primaryimage\",\"url\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661772736848-Maximum%20product%20of%20indexes%20of%20next%20greater%20on%20left%20and%20right%20-%20Header.jpg\",\"contentUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661772736848-Maximum%20product%20of%20indexes%20of%20next%20greater%20on%20left%20and%20right%20-%20Header.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/prepbytes.com\/blog\/maximum-product-of-indexes-of-next-greater-on-left-and-right\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"http:\/\/43.205.93.38\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Stacks\",\"item\":\"https:\/\/prepbytes.com\/blog\/category\/stacks\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Maximum Product of Indexes of next greater on Left and Right\"}]},{\"@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":"Maximum Product of Indexes of next greater on Left and Right","description":"In this article we have discussed the best approach to find Maximum Product of Indexes of next greater on Left and Right.","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\/maximum-product-of-indexes-of-next-greater-on-left-and-right\/","og_locale":"en_US","og_type":"article","og_title":"Maximum Product of Indexes of next greater on Left and Right","og_description":"In this article we have discussed the best approach to find Maximum Product of Indexes of next greater on Left and Right.","og_url":"https:\/\/prepbytes.com\/blog\/maximum-product-of-indexes-of-next-greater-on-left-and-right\/","og_site_name":"PrepBytes Blog","article_publisher":"https:\/\/www.facebook.com\/prepbytes0211\/","article_published_time":"2022-08-29T11:57:07+00:00","article_modified_time":"2022-10-10T04:12:47+00:00","og_image":[{"url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661772736848-Maximum%20product%20of%20indexes%20of%20next%20greater%20on%20left%20and%20right%20-%20Header.jpg","type":"","width":"","height":""}],"author":"Prepbytes","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Prepbytes","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/prepbytes.com\/blog\/maximum-product-of-indexes-of-next-greater-on-left-and-right\/#article","isPartOf":{"@id":"https:\/\/prepbytes.com\/blog\/maximum-product-of-indexes-of-next-greater-on-left-and-right\/"},"author":{"name":"Prepbytes","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e"},"headline":"Maximum Product of Indexes of next greater on Left and Right","datePublished":"2022-08-29T11:57:07+00:00","dateModified":"2022-10-10T04:12:47+00:00","mainEntityOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/maximum-product-of-indexes-of-next-greater-on-left-and-right\/"},"wordCount":1180,"commentCount":0,"publisher":{"@id":"http:\/\/43.205.93.38\/#organization"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/maximum-product-of-indexes-of-next-greater-on-left-and-right\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661772736848-Maximum%20product%20of%20indexes%20of%20next%20greater%20on%20left%20and%20right%20-%20Header.jpg","articleSection":["Stacks"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/prepbytes.com\/blog\/maximum-product-of-indexes-of-next-greater-on-left-and-right\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/prepbytes.com\/blog\/maximum-product-of-indexes-of-next-greater-on-left-and-right\/","url":"https:\/\/prepbytes.com\/blog\/maximum-product-of-indexes-of-next-greater-on-left-and-right\/","name":"Maximum Product of Indexes of next greater on Left and Right","isPartOf":{"@id":"http:\/\/43.205.93.38\/#website"},"primaryImageOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/maximum-product-of-indexes-of-next-greater-on-left-and-right\/#primaryimage"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/maximum-product-of-indexes-of-next-greater-on-left-and-right\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661772736848-Maximum%20product%20of%20indexes%20of%20next%20greater%20on%20left%20and%20right%20-%20Header.jpg","datePublished":"2022-08-29T11:57:07+00:00","dateModified":"2022-10-10T04:12:47+00:00","description":"In this article we have discussed the best approach to find Maximum Product of Indexes of next greater on Left and Right.","breadcrumb":{"@id":"https:\/\/prepbytes.com\/blog\/maximum-product-of-indexes-of-next-greater-on-left-and-right\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/prepbytes.com\/blog\/maximum-product-of-indexes-of-next-greater-on-left-and-right\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/prepbytes.com\/blog\/maximum-product-of-indexes-of-next-greater-on-left-and-right\/#primaryimage","url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661772736848-Maximum%20product%20of%20indexes%20of%20next%20greater%20on%20left%20and%20right%20-%20Header.jpg","contentUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661772736848-Maximum%20product%20of%20indexes%20of%20next%20greater%20on%20left%20and%20right%20-%20Header.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/prepbytes.com\/blog\/maximum-product-of-indexes-of-next-greater-on-left-and-right\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"http:\/\/43.205.93.38\/"},{"@type":"ListItem","position":2,"name":"Stacks","item":"https:\/\/prepbytes.com\/blog\/category\/stacks\/"},{"@type":"ListItem","position":3,"name":"Maximum Product of Indexes of next greater on Left and Right"}]},{"@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\/9210","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=9210"}],"version-history":[{"count":6,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/9210\/revisions"}],"predecessor-version":[{"id":10166,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/9210\/revisions\/10166"}],"wp:attachment":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/media?parent=9210"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/categories?post=9210"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/tags?post=9210"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}