{"id":1358,"date":"2020-06-10T19:51:29","date_gmt":"2020-06-10T19:51:29","guid":{"rendered":"https:\/\/blog.prepbytes.com\/?p=1358"},"modified":"2022-06-17T05:34:36","modified_gmt":"2022-06-17T05:34:36","slug":"search-triplets","status":"publish","type":"post","link":"https:\/\/prepbytes.com\/blog\/search-triplets\/","title":{"rendered":"Search Triplets"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645182189527-Article_480.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>We have to find a triplet <code>(n_{1}, n_{2}, n_{3})<\/code> in array such that sum of two number i.e. <code>n_{1}+n_{2}<\/code> equals to the third number <code>n_{3}<\/code>. We have to print the triplet in <code>n_{3}<\/code> <code>n_{1}<\/code> <code>n_{2}<\/code> formation.<\/p>\n<\/blockquote>\n<p><a href=\"https:\/\/mycode.prepbytes.com\/problems\/sorting\/TRIPLET\" 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:\n1\n5\n20 40 30 50 70\n\nOutput:\n70 20 50\n\nExplanation:\nWe can see there are two such triplets (70,20,50) and (50,20,30). As the first triplet has a higher sum value, so we print 70 20 50.<\/code><\/pre>\n<h3>Solving Approach :<\/h3>\n<p><strong>Bruteforce Approach<\/strong>:<\/p>\n<blockquote>\n<p>This problem can be solved if we form three loops for each number and check if the sum of two numbers is equal to the third number, we save all three numbers. Later all loops if no number is present in the array, we print -1. Else we print the largest of them. This approach takes O(n<sup>3<\/sup> ) which is not efficient, so we can solve this more efficiently by given approach.<\/p>\n<\/blockquote>\n<p><strong>Efficient Approach<\/strong> :<\/p>\n<blockquote>\n<p>1) We can find <code>n_{2}<\/code> if we can subtract <code>n_{1}<\/code> from <code>n_{3}<\/code>, so we need to find only the pair <code>n_{3}<\/code> and <code>n_{1}<\/code>.<br \/>\n2) We can maintain a hash table which saves the presence of numbers in the array, hash table returns 1 if the number is present in the array, else returns 0.<br \/>\n3) We also know <code>n_{3}<\/code> will be a larger number in the array, so we can sort the array so that we can iterate all larger numbers serial wise from the last index of the array.<br \/>\n4) So we now iterate from the last index of the sorted array, and find any element from smaller side of the array such that difference of both numbers exists in the array if any such pair exists we print the larger number, smaller number and their difference.<\/p>\n<\/blockquote>\n<h3>Example<\/h3>\n<blockquote>\n<p>Let array <code>A<\/code> be,  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes.com\/blog\/wp-content\/uploads\/2020\/06\/triplet.png\" alt=\"\" \/><\/p>\n<p>Sorting array <code>A<\/code> and maintaining a hash table <code>H<\/code> which stores value 1 if index <code>x<\/code> is present in array <code>A<\/code>, else it stores 0.  <\/p>\n<p>Sorted Array <code>A<\/code>,<\/p>\n<p>Hash Table <code>H<\/code>,<\/p>\n<p>Required equation is : <code>n_{1}+n_{2}=n_{3}<\/code><\/p>\n<p>For n_{3}, we iterate from last index of array <code>MARKDOWN_HASH7fc56270e7a70fa81a5935b72eacbe29MARKDOWN<em>HASH<\/code> as we need to print the largest value of n<\/em>{3}, Let the iterator be <code>j=4<\/code>(last index)  <\/p>\n<p>For n_{1}, we ierate from start of array <code>A<\/code>, Let the iterator be <code>i=0<\/code>,<\/p>\n<ul>\n<li>\n<p>For <code>i=0, j=4<\/code> :<br \/>\n<code>A[i]<\/code> = 10, <code>A[j]<\/code> = 70,<br \/>\nWe check if <code>A[j] - A[i]<\/code> is present in array or not, which can be verified from hash table <code>H<\/code>,<br \/>\n<code>h[A[j] - A[i]]<\/code><br \/>\n<code>h[70 - 10]<\/code><br \/>\n<code>h[60]<\/code><br \/>\nAs <code>h[60]<\/code> is 0, hence, this is not the required triplet, so we check next value of i i.e. <code>i = 1<\/code>,<\/p>\n<\/li>\n<li>\n<p>For <code>i=1, j=4<\/code> :<br \/>\n<code>A[i]<\/code> = 20, <code>A[j]<\/code> = 70,<br \/>\nWe check if <code>A[j] - A[i]<\/code> is present in array or not, which can be verified from hash table <code>H<\/code>,<br \/>\nh[A[j] &#8211; A[i]]`<br \/>\n<code>h[70 - 20]<\/code><br \/>\n<code>h[50]<\/code><br \/>\nAs <code>h[50]<\/code> is 1, hence, this is the required triplet, hence, we print the triplet in this form, i.e. <code>A[i]<\/code> <code>A[j]-A[i]<\/code> <code>A[j]<\/code><\/p>\n<\/li>\n<\/ul>\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_1382 {\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_1382 .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_1382 .wpsm_nav-tabs {\r\n    border-bottom: 0px solid #ddd;\r\n}\r\n#tab_container_1382 .wpsm_nav-tabs > li.active > a, #tab_container_1382 .wpsm_nav-tabs > li.active > a:hover, #tab_container_1382 .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_1382 .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_1382 .wpsm_nav-tabs > li > a:focus {\r\noutline: 0px !important;\r\n}\r\n\r\n#tab_container_1382 .wpsm_nav-tabs > li > a:before {\r\n\tdisplay:none !important;\r\n}\r\n#tab_container_1382 .wpsm_nav-tabs > li > a:after {\r\n\tdisplay:none !important ;\r\n}\r\n#tab_container_1382 .wpsm_nav-tabs > li{\r\npadding:0px !important ;\r\nmargin:0px;\r\n}\r\n\r\n#tab_container_1382 .wpsm_nav-tabs > li > a:hover , #tab_container_1382 .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_1382 .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_1382 .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_1382 .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_1382 .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_1382 .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_1382 .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_1382 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_1382 .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_1382 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_1382 .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_1382 .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_1382\" >\r\n\t \r\n\t\t\t\t\t<ul class=\"wpsm_nav wpsm_nav-tabs\" role=\"tablist\" id=\"myTab_1382\">\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_1382_1\" aria-controls=\"tabs_desc_1382_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_1382_2\" aria-controls=\"tabs_desc_1382_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_1382_3\" aria-controls=\"tabs_desc_1382_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\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_1382_4\" aria-controls=\"tabs_desc_1382_4\" 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>Python<\/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_1382\">\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_1382_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#include &lt;stdio.h&gt;\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 test;\r\n  scanf(&quot;%d&quot;,&amp;test);\r\n\r\n  while(test--){\r\n\r\n    int n;\r\n    scanf(&quot;%d&quot;,&amp;n);\r\n\r\n    int arr[n], hash[9999999]={0};\r\n    for(int i=0; i&lt;n; i++){\r\n      scanf(&quot;%d&quot;,&amp;arr[i]);\r\n      hash[arr[i]] = 1;\r\n    }\r\n    mergeSort(arr,0,n-1);\r\n    int flag = 1;\r\n    for(int i=n-1; i&gt;=0; i--){\r\n      for(int j=0; j&lt;n;j++){\r\n        if( arr[i]-arr[j]&gt;=0 &amp;&amp; hash[arr[i]-arr[j]]&gt;0 &amp;&amp; arr[i]-arr[j]!=arr[j]){\r\n          printf(&quot;%d %d %d&#92;n&quot;,arr[i],arr[j], arr[i]-arr[j]);\r\n          flag = 0;\r\n          break;\r\n        }\r\n      }\r\n      if(!flag)\r\n        break;\r\n    }\r\n\r\n    if(flag)\r\n      printf(&quot;-1&#92;n&quot;);\r\n\r\n  }\r\n}\r\n<\/pre>\r\n<!-- \/wp:enlighter\/codeblock -->\r\n\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_1382_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 test;\r\n  cin&gt;&gt;test;\r\n\r\n  while(test--){\r\n\r\n    int n;\r\n    cin&gt;&gt;n;\r\n\r\n    int arr[n], hash[9999999]={0};\r\n    for(int i=0; i&lt;n; i++){\r\n      cin&gt;&gt;arr[i];\r\n      hash[arr[i]] = 1;\r\n    }\r\n    mergeSort(arr,0,n-1);\r\n    int flag = 1;\r\n    for(int i=n-1; i&gt;=0; i--){\r\n      for(int j=0; j&lt;n;j++){\r\n        if( arr[i]-arr[j]&gt;=0 &amp;&amp; hash[arr[i]-arr[j]]&gt;0 &amp;&amp; arr[i]-arr[j]!=arr[j]){\r\n          cout&lt;&lt;arr[i]&lt;&lt;&quot; &quot;&lt;&lt;arr[j]&lt;&lt;&quot; &quot;&lt;&lt;arr[i]-arr[j]&lt;&lt;endl;\r\n          flag = 0;\r\n          break;\r\n        }\r\n      }\r\n      if(!flag)\r\n        break;\r\n    }\r\n\r\n    if(flag)\r\n      cout&lt;&lt;-1&lt;&lt;endl;\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\t\t\t\t\t <div role=\"tabpanel\" class=\"tab-pane \" id=\"tabs_desc_1382_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(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  public static void main(String args[]) throws IOException {\r\n\r\n    Scanner sc = new Scanner(System.in);\r\n    int test = sc.nextInt();\r\n\r\n    while(test--!=0){\r\n\r\n      int n = sc.nextInt();\r\n\r\n      int arr[] = new int[n], hash[] = new int[9999999];\r\n      for(int i=0; i&lt;n; i++){\r\n        arr[i] = sc.nextInt();\r\n        hash[arr[i]] = 1;\r\n      }\r\n      mergeSort(arr,0,n-1);\r\n      int flag = 1;\r\n      for(int i=n-1; i&gt;=0; i--){\r\n        for(int j=0; j&lt;n;j++){\r\n          if(arr[i]-arr[j]&gt;=0 &amp;&amp; hash[arr[i]-arr[j]]&gt;0 &amp;&amp; arr[i]-arr[j]!=arr[j]){\r\n            System.out.println(arr[i] +  &quot; &quot;  + arr[j] +  &quot; &quot;  + (arr[i]-arr[j]));\r\n            flag = 0;\r\n            break;\r\n          }\r\n        }\r\n        if(flag==0)\r\n          break;\r\n      }\r\n\r\n      if(flag==1)\r\n        System.out.println(&quot;-1&quot;);\r\n\r\n    }  \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\t\t\t\t\t <div role=\"tabpanel\" class=\"tab-pane \" id=\"tabs_desc_1382_4\">\r\n\t\t\t\t\t\t\t\t<!-- wp:enlighter\/codeblock {\"language\":\"Python\"} -->\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"Python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\r\ndef merge(arr, start, mid, end):\r\n\tleft = [0 for i in range(mid - start + 1)]\r\n\tright = [0 for i in range(end - mid)]\r\n\t\r\n\tfor i in range(start, mid + 1):\r\n\t\tleft[i - start] =  arr[i]\r\n\t\r\n\tfor i in range(mid + 1, end + 1):\r\n\t\tright[i - (mid + 1)] = arr[i]\r\n\t\r\n\tleftIndex = 0\r\n\trightIndex = 0\r\n\tarrIndex = start\r\n\t\r\n\twhile leftIndex &lt;= mid - start and rightIndex &lt; end - mid:\r\n\t\r\n\t\tif(left[leftIndex] &lt; right[rightIndex]):\r\n\t\t\tarr[arrIndex] = left[leftIndex]\r\n\t\t\tleftIndex += 1\r\n\t\t\r\n\t\telse:\r\n\t\t\tarr[arrIndex] = right[rightIndex]\r\n\t\t\trightIndex += 1\r\n\t\t\r\n\t\tarrIndex += 1\r\n\t\r\n\twhile(leftIndex &lt;= mid - start):\r\n\t\tarr[arrIndex] = left[leftIndex]\r\n\t\tleftIndex += 1\r\n\t\tarrIndex += 1\r\n\t\r\n\twhile(rightIndex &lt; end - mid):\r\n\t\tarr[arrIndex] = right[rightIndex]\r\n\t\trightIndex += 1\r\n\t\tarrIndex += 1\r\n\t\r\ndef mergeSort(arr, start, end):\r\n\tif(end == start):\r\n\t\treturn\r\n\tmergeSort(arr, start, (start + end) \/\/ 2)\r\n\tmergeSort(arr, ((start + end) \/\/ 2) + 1, end)\r\n\tmerge(arr, start, (start + end) \/\/ 2, end)\r\n\r\n\r\nfor _ in range(int(input())):\r\n\r\n\tn = int(input())\r\n\thash = [0] * 9999999\r\n\tarr = list(map(int, input().split()))\r\n\t\r\n\tfor i in arr:\r\n\t\thash[i] = 1\r\n\t\r\n\tmergeSort(arr, 0, n - 1)\r\n\tflag = 1\r\n\r\n\tfor i in range(n - 1, -1, -1):\r\n\t\t\r\n\t\tfor j in range(n):\r\n\t\t\r\n\t\t\tif arr[i] - arr[j] &gt;= 0 and hash[arr[i] - arr[j]] &gt; 0 and arr[i] - arr[j] != arr[j]:\r\n\r\n\t\t\t\tprint(arr[i], arr[j], arr[i]- arr[j])\r\n\t\t\t\tflag = 0\r\n\t\t\t\tbreak\r\n\r\n\t\tif not flag:\r\n\t\t\tbreak\r\n\r\n\tif flag:\r\n\t\tprint(-1)\r\n# your code goes here\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_1382 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_1382 a\"),jQuery(\"#tab-content_1382\"));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[forminator_quiz id=&quot;1386&quot;]<\/p>\n<h3>Space Complexity<\/h3>\n<blockquote>\n<p>O( <code>max<\/code>( <code>array<\/code> <code>elements<\/code>) ) to maintain a hash table.<\/p>\n<\/blockquote>\n<p>This article tried to discuss the concept of <strong>Sorting<\/strong>. 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): We have to find a triplet (n_{1}, n_{2}, n_{3}) in array such that sum of two number i.e. n_{1}+n_{2} equals to the third number n_{3}. We have to print the triplet in n_{3} n_{1} n_{2} formation. Test Case Input: 1 5 20 40 30 50 70 [&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":[36,91],"class_list":["post-1358","post","type-post","status-publish","format-standard","hentry","category-sorting-interview-programming","tag-interview-coding","tag-sorting"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Search Triplets | Sorting Interview Programming | Prepbytes<\/title>\n<meta name=\"description\" content=\"We Have to Find a Triplet (n_{1}, N_{2}, N_{3}) in Array Such That Sum of Two Number I.e. N_{1}+n_{2} Equals to the Third Number N_{3}. We Have to Print the Triplet in N_{3} N_{1} N_{2} Formation.\" \/>\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\/search-triplets\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Search Triplets | Sorting Interview Programming | Prepbytes\" \/>\n<meta property=\"og:description\" content=\"We Have to Find a Triplet (n_{1}, N_{2}, N_{3}) in Array Such That Sum of Two Number I.e. N_{1}+n_{2} Equals to the Third Number N_{3}. We Have to Print the Triplet in N_{3} N_{1} N_{2} Formation.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/prepbytes.com\/blog\/search-triplets\/\" \/>\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-06-10T19:51:29+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-06-17T05:34:36+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645182189527-Article_480.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\/search-triplets\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/search-triplets\/\"},\"author\":{\"name\":\"Prepbytes\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e\"},\"headline\":\"Search Triplets\",\"datePublished\":\"2020-06-10T19:51:29+00:00\",\"dateModified\":\"2022-06-17T05:34:36+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/search-triplets\/\"},\"wordCount\":435,\"commentCount\":0,\"publisher\":{\"@id\":\"http:\/\/43.205.93.38\/#organization\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/search-triplets\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645182189527-Article_480.png\",\"keywords\":[\"interview-coding\",\"Sorting\"],\"articleSection\":[\"Sorting interview programming\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/prepbytes.com\/blog\/search-triplets\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/prepbytes.com\/blog\/search-triplets\/\",\"url\":\"https:\/\/prepbytes.com\/blog\/search-triplets\/\",\"name\":\"Search Triplets | Sorting Interview Programming | Prepbytes\",\"isPartOf\":{\"@id\":\"http:\/\/43.205.93.38\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/search-triplets\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/search-triplets\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645182189527-Article_480.png\",\"datePublished\":\"2020-06-10T19:51:29+00:00\",\"dateModified\":\"2022-06-17T05:34:36+00:00\",\"description\":\"We Have to Find a Triplet (n_{1}, N_{2}, N_{3}) in Array Such That Sum of Two Number I.e. N_{1}+n_{2} Equals to the Third Number N_{3}. We Have to Print the Triplet in N_{3} N_{1} N_{2} Formation.\",\"breadcrumb\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/search-triplets\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/prepbytes.com\/blog\/search-triplets\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/prepbytes.com\/blog\/search-triplets\/#primaryimage\",\"url\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645182189527-Article_480.png\",\"contentUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645182189527-Article_480.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/prepbytes.com\/blog\/search-triplets\/#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\":\"Search Triplets\"}]},{\"@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":"Search Triplets | Sorting Interview Programming | Prepbytes","description":"We Have to Find a Triplet (n_{1}, N_{2}, N_{3}) in Array Such That Sum of Two Number I.e. N_{1}+n_{2} Equals to the Third Number N_{3}. We Have to Print the Triplet in N_{3} N_{1} N_{2} Formation.","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\/search-triplets\/","og_locale":"en_US","og_type":"article","og_title":"Search Triplets | Sorting Interview Programming | Prepbytes","og_description":"We Have to Find a Triplet (n_{1}, N_{2}, N_{3}) in Array Such That Sum of Two Number I.e. N_{1}+n_{2} Equals to the Third Number N_{3}. We Have to Print the Triplet in N_{3} N_{1} N_{2} Formation.","og_url":"https:\/\/prepbytes.com\/blog\/search-triplets\/","og_site_name":"PrepBytes Blog","article_publisher":"https:\/\/www.facebook.com\/prepbytes0211\/","article_published_time":"2020-06-10T19:51:29+00:00","article_modified_time":"2022-06-17T05:34:36+00:00","og_image":[{"url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645182189527-Article_480.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\/search-triplets\/#article","isPartOf":{"@id":"https:\/\/prepbytes.com\/blog\/search-triplets\/"},"author":{"name":"Prepbytes","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e"},"headline":"Search Triplets","datePublished":"2020-06-10T19:51:29+00:00","dateModified":"2022-06-17T05:34:36+00:00","mainEntityOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/search-triplets\/"},"wordCount":435,"commentCount":0,"publisher":{"@id":"http:\/\/43.205.93.38\/#organization"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/search-triplets\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645182189527-Article_480.png","keywords":["interview-coding","Sorting"],"articleSection":["Sorting interview programming"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/prepbytes.com\/blog\/search-triplets\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/prepbytes.com\/blog\/search-triplets\/","url":"https:\/\/prepbytes.com\/blog\/search-triplets\/","name":"Search Triplets | Sorting Interview Programming | Prepbytes","isPartOf":{"@id":"http:\/\/43.205.93.38\/#website"},"primaryImageOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/search-triplets\/#primaryimage"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/search-triplets\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645182189527-Article_480.png","datePublished":"2020-06-10T19:51:29+00:00","dateModified":"2022-06-17T05:34:36+00:00","description":"We Have to Find a Triplet (n_{1}, N_{2}, N_{3}) in Array Such That Sum of Two Number I.e. N_{1}+n_{2} Equals to the Third Number N_{3}. We Have to Print the Triplet in N_{3} N_{1} N_{2} Formation.","breadcrumb":{"@id":"https:\/\/prepbytes.com\/blog\/search-triplets\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/prepbytes.com\/blog\/search-triplets\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/prepbytes.com\/blog\/search-triplets\/#primaryimage","url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645182189527-Article_480.png","contentUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645182189527-Article_480.png"},{"@type":"BreadcrumbList","@id":"https:\/\/prepbytes.com\/blog\/search-triplets\/#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":"Search Triplets"}]},{"@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\/1358","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=1358"}],"version-history":[{"count":11,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/1358\/revisions"}],"predecessor-version":[{"id":8456,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/1358\/revisions\/8456"}],"wp:attachment":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/media?parent=1358"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/categories?post=1358"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/tags?post=1358"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}