{"id":6148,"date":"2025-05-29T18:09:12","date_gmt":"2025-05-29T12:39:12","guid":{"rendered":"https:\/\/namastedev.com\/blog\/?p=6148"},"modified":"2025-05-29T18:09:45","modified_gmt":"2025-05-29T12:39:45","slug":"merge-sorted-array","status":"publish","type":"post","link":"https:\/\/namastedev.com\/blog\/merge-sorted-array\/","title":{"rendered":"Merge Sorted Array"},"content":{"rendered":"\n<!-- Prism.js CSS and JS -->\n<link href=\"https:\/\/cdn.jsdelivr.net\/npm\/prismjs@1.29.0\/themes\/prism-tomorrow.css\" rel=\"stylesheet\" \/>\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/prismjs@1.29.0\/prism.js\"><\/script>\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/prismjs@1.29.0\/plugins\/autoloader\/prism-autoloader.min.js\"><\/script>\n\n<style>\n.wp_blog_code-tabs-container {\n    font-family: \"Segoe UI\", sans-serif !important;\n    max-width: 900px !important;\n    margin: 2rem auto !important;\n    border: 1px solid #ddd !important;\n    border-radius: 8px !important;\n    overflow: hidden !important;\n    background-color: white !important;\n}\n\n.wp_blog_code-tabs-header {\n    background: #f7f7f7 !important;\n    display: flex !important;\n    border-bottom: 1px solid #ddd !important;\n}\n\n.wp_blog_code-tab-button {\n    flex: 1 !important;\n    padding: 10px 15px !important;\n    border: none !important;\n    background: transparent !important;\n    cursor: pointer !important;\n    font-weight: bold !important;\n    transition: background 0.2s !important;\n    color: #242B33 !important;\n}\n\n.wp_blog_code-tab-button.active {\n    background: white !important;\n    border-bottom: 3px solid #0073aa !important;\n}\n\n.wp_blog_code-tab-content {\n    display: none !important;\n    padding: 20px !important;\n    background: #242B33 !important;\n}\n\n.wp_blog_code-tab-content > pre {\n    background: #242B33 !important;\n}\n\n.wp_blog_code-tab-content.active {\n    display: block !important;\n}\n\n.wp_blog_code-tab-content pre {\n    margin: 0 !important;\n    overflow-x: auto !important;\n}\n\n.wp_blog_explanation {\n    max-width: 900px !important;\n    margin: 2rem auto !important;\n    font-family: \"Segoe UI\", sans-serif !important;\n    line-height: 1.6 !important;\n    background: white !important;\n    color: black !important;\n    padding: 1rem !important;\n    border-radius: 8px !important;\n}\n\n.wp_blog_explanation h2 {\n    color: #0073aa !important;\n    font-size: 1.5rem !important;\n    margin-bottom: 0.5rem !important;\n}\n\n.wp_blog_explanation code {\n    background: #f1f1f1 !important;\n    padding: 2px 6px !important;\n    border-radius: 4px !important;\n    font-family: monospace !important;\n}\n\n.wp_blog_explanation h1,\n.wp_blog_explanation h2,\n.wp_blog_explanation h3,\n.wp_blog_explanation h4,\n.wp_blog_explanation h5,\n.wp_blog_explanation h6,\n.wp_blog_explanation p {\n    margin-top: 10px !important;\n    margin-bottom: 10px !important;\n}\n<\/style>\n\n<!-- \u2705 START: Blog Explanation -->\n<!-- <div class=\"wp_blog_explanation\">    \n<\/div> -->\n\n<div class=\"wp_blog_explanation\">    \n      \n        <p>You are given two integer arrays <code>nums1<\/code> and <code>nums2<\/code>, sorted in non-decreasing order, and two integers <code>m<\/code> and <code>n<\/code>, representing the number of elements in <code>nums1<\/code> and <code>nums2<\/code> respectively.<\/p>\n\n  <p>Merge <code>nums1<\/code> and <code>nums2<\/code> into a single array sorted in non-decreasing order.<\/p>\n\n  <p>The final sorted array should not be returned by the function, but instead be stored inside the array <code>nums1<\/code>. To accommodate this, <code>nums1<\/code> has a length of <code>m + n<\/code>, where the first <code>m<\/code> elements denote the elements that should be merged, and the last <code>n<\/code> elements are set to 0 and should be ignored. <code>nums2<\/code> has a length of <code>n<\/code>.<\/p>\n\n  <h2>Examples<\/h2>\n  <pre>\nExample 1:\nInput: nums1 = [1,2,3,0,0,0], m = 3\n       nums2 = [2,5,6], n = 3\nOutput: [1,2,2,3,5,6]\nExplanation: The arrays we are merging are [1,2,3] and [2,5,6].\nThe result of the merge is [1,2,2,3,5,6] with the underlined \nelements coming from nums1.\n\nExample 2:\nInput: nums1 = [1], m = 1\n       nums2 = [], n = 0\nOutput: [1]\nExplanation: The arrays we are merging are [1] and [].\nThe result of the merge is [1].\n\nExample 3:\nInput: nums1 = [0], m = 0\n       nums2 = [1], n = 1\nOutput: [1]\nExplanation: The arrays we are merging are [] and [1].\nThe result of the merge is [1].\nNote that because m = 0, there are no elements in nums1. \nThe 0 is only there to ensure the merge result can fit in nums1.\n  <\/pre>\n\n  <h2>Approach 1: Brute Force &#8211; Simple Concatenate + Sort<\/h2>\n  <ul>\n    <li>Overwrite the trailing zeros in <code>nums1<\/code> (from index <code>m<\/code> onwards) with all elements of <code>nums2<\/code>.<\/li>\n    <li>Sort the whole <code>nums1<\/code> array.<\/li>\n  <\/ul>\n\n  <h2>Dry Run:<\/h2>\n  <pre>\nInput:\nnums1 = [1, 2, 3, 0, 0, 0], m = 3\nnums2 = [2, 5, 6], n = 3\n\nStep 1: Copy nums2 into nums1\ni = 3 to 5:\nnums1[3] = nums2[0] = 2\nnums1[4] = nums2[1] = 5\nnums1[5] = nums2[2] = 6\n=> nums1 = [1, 2, 3, 2, 5, 6]\n\nStep 2: Sort the array\nnums1.sort((a, b) => a - b)\n=> [1, 2, 2, 3, 5, 6]\n  <\/pre>\n\n  <h2>Time and Space Complexity<\/h2>\n  <ul>\n    <li><strong>Time:<\/strong> O((m+n) log(m+n)) due to sorting.<\/li>\n    <li><strong>Space:<\/strong> O(1) extra (in-place).<\/li>\n  <\/ul>\n      \n<\/div>\n<!-- \u2705 END: Blog Explanation -->\n\n<!-- \u2705 START: Code Tabs -->\n<div class=\"wp_blog_code-tabs-container\">\n    <div class=\"wp_blog_code-tabs-header\">\n      <button class=\"wp_blog_code-tab-button active\" data-lang=\"js\">JavaScript<\/button>\n      <button class=\"wp_blog_code-tab-button\" data-lang=\"cpp\">C++<\/button>\n      <button class=\"wp_blog_code-tab-button\" data-lang=\"c\">C<\/button>\n      <button class=\"wp_blog_code-tab-button\" data-lang=\"java\">Java<\/button>\n      <button class=\"wp_blog_code-tab-button\" data-lang=\"py\">Python<\/button>\n    <\/div>\n  \n    <div class=\"wp_blog_code-tab-content active\" data-lang=\"js\">\n      <pre><code class=\"language-javascript\">\n  var merge = function(nums1, m, nums2, n) {\n    for (let i = m; i &lt; nums1.length; i++) {\n      nums1[i] = nums2[i - m];\n    }\n    nums1.sort((a, b) =&gt; a - b);\n  };\n      <\/code><\/pre>\n    <\/div>\n  \n    <div class=\"wp_blog_code-tab-content\" data-lang=\"cpp\">\n      <pre><code class=\"language-cpp\">\n  #include &lt;vector&gt;\n  #include &lt;algorithm&gt;\n  using namespace std;\n  \n  class Solution {\n  public:\n    void merge(vector&lt;int&gt;&amp; nums1, int m, vector&lt;int&gt;&amp; nums2, int n) {\n      for (int i = 0; i &lt; n; ++i) {\n        nums1[m + i] = nums2[i];\n      }\n      sort(nums1.begin(), nums1.begin() + m + n);\n    }\n  };\n      <\/code><\/pre>\n    <\/div>\n  \n    <div class=\"wp_blog_code-tab-content\" data-lang=\"c\">\n      <pre><code class=\"language-c\">\n  #include &lt;stdlib.h&gt;\n  \n  int compare(const void *a, const void *b) {\n    return (*(int*)a - *(int*)b);\n  }\n  \n  void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n) {\n    for (int i = 0; i &lt; n; ++i) {\n      nums1[m + i] = nums2[i];\n    }\n    qsort(nums1, m + n, sizeof(int), compare);\n  }\n      <\/code><\/pre>\n    <\/div>\n  \n    <div class=\"wp_blog_code-tab-content\" data-lang=\"java\">\n      <pre><code class=\"language-java\">\n  import java.util.Arrays;\n  \n  class Solution {\n    public void merge(int[] nums1, int m, int[] nums2, int n) {\n      for (int i = 0; i &lt; n; i++) {\n        nums1[m + i] = nums2[i];\n      }\n      Arrays.sort(nums1);\n    }\n  }\n      <\/code><\/pre>\n    <\/div>\n  \n    <div class=\"wp_blog_code-tab-content\" data-lang=\"py\">\n      <pre><code class=\"language-python\">\n  class Solution(object):\n    def merge(self, nums1, m, nums2, n):\n      for i in range(n):\n        nums1[m + i] = nums2[i]\n      nums1.sort()\n      <\/code><\/pre>\n    <\/div>\n  <\/div>\n  \n  \n  \n<!-- \u2705 END: Code Tabs -->\n\n<div class=\"wp_blog_explanation\">\n    <h2>Approach 2: Two-Pointer Method<\/h2>\n    <p>Instead of sorting at the end, this algorithm merges the arrays in sorted order using two pointers:<\/p>\n    <ol>\n      <li>Copy the first m elements of nums1 into a temporary array (nums1Copy).<\/li>\n      <li>Use two pointers p1 (for nums1Copy) and p2 (for nums2) to compare elements.<\/li>\n      <li>At each index i of nums1, place the smaller of the elements from nums1Copy[p1] and nums2[p2].<\/li>\n      <li>Repeat until nums1 is fully filled with the merged sorted elements.<\/li>\n    <\/ol>\n  \n    <h2>Dry Run<\/h2>\n    <pre>\n  Input:\n  nums1 = [1,2,3,0,0,0], m = 3  \n  nums2 = [2,5,6], n = 3\n  \n  Execution:\n  nums1Copy = [1,2,3], p1 = 0, p2 = 0\n  \n  nums1Copy[0]=1 < nums2[0]=2 \u2192 nums1[0] = 1, p1++\n  nums1Copy[1]=2 == nums2[0]=2 \u2192 nums1[1] = 2, p2++\n  nums1Copy[1]=2 < nums2[1]=5 \u2192 nums1[2] = 2, p1++\n  nums1Copy[2]=3 < nums2[1]=5 \u2192 nums1[3] = 3, p1++\n  p1==3 \u2192 only nums2 left\n  nums1[4] = 5, nums1[5] = 6\n  \n  Final Output: nums1 = [1,2,2,3,5,6]\n    <\/pre>\n  \n    <h2>Time Complexity:<\/h2>\n    <ul>\n      <li>Copying the first m elements to nums1Copy takes O(m).<\/li>\n      <li>Merging the two sorted arrays takes O(m + n) because each index in nums1 is visited exactly once.<\/li>\n      <li><strong>Overall:<\/strong> O(m + n)<\/li>\n    <\/ul>\n  \n    <h2>Space Complexity:<\/h2>\n    <ul>\n      <li>You create a copy of the first m elements of nums1 in nums1Copy, which takes O(m) additional space.<\/li>\n      <li><strong>Overall:<\/strong> O(m)<\/li>\n    <\/ul>\n  \n<\/div>\n<div class=\"wp_blog_code-tabs-container\">\n    <div class=\"wp_blog_code-tabs-header\">\n      <button class=\"wp_blog_code-tab-button active\" data-lang=\"js\">JavaScript<\/button>\n      <button class=\"wp_blog_code-tab-button\" data-lang=\"cpp\">C++<\/button>\n      <button class=\"wp_blog_code-tab-button\" data-lang=\"c\">C<\/button>\n      <button class=\"wp_blog_code-tab-button\" data-lang=\"java\">Java<\/button>\n      <button class=\"wp_blog_code-tab-button\" data-lang=\"py\">Python<\/button>\n    <\/div>\n  \n    <div class=\"wp_blog_code-tab-content active\" data-lang=\"js\">\n      <pre><code class=\"language-javascript\">\n  var merge = function(nums1, m, nums2, n) {\n      let nums1Copy = nums1.slice(0, m)\n      let p1 = 0;\n      let p2 = 0;\n      for (let i = 0; i &lt; m + n; i++) {\n          if (p2 &gt;= n || (p1 &lt; m &amp;&amp; nums1Copy[p1] &lt; nums2[p2])) {\n              nums1[i] = nums1Copy[p1];\n              p1++;\n          } else {\n              nums1[i] = nums2[p2];\n              p2++;\n          }\n      }\n  };\n      <\/code><\/pre>\n    <\/div>\n  \n    <div class=\"wp_blog_code-tab-content\" data-lang=\"cpp\">\n      <pre><code class=\"language-cpp\">\n  class Solution {\n  public:\n      void merge(vector&lt;int&gt;&amp; nums1, int m, vector&lt;int&gt;&amp; nums2, int n) {\n          vector&lt;int&gt; nums1Copy(nums1.begin(), nums1.begin() + m);\n          int p1 = 0, p2 = 0;\n          for (int i = 0; i &lt; m + n; ++i) {\n              if (p2 &gt;= n || (p1 &lt; m &amp;&amp; nums1Copy[p1] &lt; nums2[p2])) {\n                  nums1[i] = nums1Copy[p1++];\n              } else {\n                  nums1[i] = nums2[p2++];\n              }\n          }\n      }\n  };\n      <\/code><\/pre>\n    <\/div>\n  \n    <div class=\"wp_blog_code-tab-content\" data-lang=\"c\">\n      <pre><code class=\"language-c\">\n  #include &lt;stdlib.h&gt;\n  void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n) {\n      int* nums1Copy = (int*)malloc(m * sizeof(int));\n      for (int i = 0; i &lt; m; ++i) nums1Copy[i] = nums1[i];\n  \n      int p1 = 0, p2 = 0;\n      for (int i = 0; i &lt; m + n; ++i) {\n          if (p2 &gt;= n || (p1 &lt; m &amp;&amp; nums1Copy[p1] &lt; nums2[p2])) {\n              nums1[i] = nums1Copy[p1++];\n          } else {\n              nums1[i] = nums2[p2++];\n          }\n      }\n      free(nums1Copy);\n  }\n      <\/code><\/pre>\n    <\/div>\n  \n    <div class=\"wp_blog_code-tab-content\" data-lang=\"java\">\n      <pre><code class=\"language-java\">\n  class Solution {\n      public void merge(int[] nums1, int m, int[] nums2, int n) {\n          int[] nums1Copy = new int[m];\n          System.arraycopy(nums1, 0, nums1Copy, 0, m);\n  \n          int p1 = 0, p2 = 0;\n          for (int i = 0; i &lt; m + n; i++) {\n              if (p2 &gt;= n || (p1 &lt; m &amp;&amp; nums1Copy[p1] &lt; nums2[p2])) {\n                  nums1[i] = nums1Copy[p1++];\n              } else {\n                  nums1[i] = nums2[p2++];\n              }\n          }\n      }\n  }\n      <\/code><\/pre>\n    <\/div>\n  \n    <div class=\"wp_blog_code-tab-content\" data-lang=\"py\">\n      <pre><code class=\"language-python\">\n  class Solution:\n      def merge(self, nums1, m, nums2, n):\n          nums1_copy = nums1[:m]\n          p1 = p2 = 0\n  \n          for i in range(m + n):\n              if p2 &gt;= n or (p1 &lt; m and nums1_copy[p1] &lt; nums2[p2]):\n                  nums1[i] = nums1_copy[p1]\n                  p1 += 1\n              else:\n                  nums1[i] = nums2[p2]\n                  p2 += 1\n      <\/code><\/pre>\n    <\/div>\n  <\/div>\n  \n  \n\n<div class=\"wp_blog_explanation\">\n    <h2>Optimal Approach<\/h2>\n    <p>We have two sorted arrays:<\/p>\n    <ul>\n      <li>nums1 with length m + n where the first m elements are valid.<\/li>\n      <li>nums2 with n elements.<\/li>\n    <\/ul>\n    <p>The goal: merge nums2 into nums1 in sorted order in-place.<\/p>\n    <p>Start filling nums1 from the end (index m + n - 1), comparing the last elements of both arrays (nums1[m-1] and nums2[n-1]).<\/p>\n    <p>Place the larger element at the current last position.<\/p>\n    <p>Move pointers accordingly:<\/p>\n    <ul>\n      <li>Decrement the pointer in nums1 or nums2.<\/li>\n      <li>Decrement the position pointer for placement.<\/li>\n    <\/ul>\n    <p>If nums2 is exhausted first, merging is done.<\/p>\n    <p>If nums1 is exhausted first, copy remaining elements of nums2.<\/p>\n  \n    <h2>Time Complexity (TC)<\/h2>\n    <ul>\n      <li>We traverse the combined length of both arrays exactly once, i.e., m + n times.<\/li>\n      <li>Each step is O(1).<\/li>\n      <li><strong>Overall:<\/strong> O(m + n)<\/li>\n    <\/ul>\n  \n    <h2>Space Complexity (SC)<\/h2>\n    <ul>\n      <li>No extra significant space is used (in-place).<\/li>\n      <li>Only a few variables (p1, p2, i) are used.<\/li>\n      <li><strong>Overall:<\/strong> O(1) (constant space)<\/li>\n    <\/ul>\n<\/div>\n\n<div class=\"wp_blog_code-tabs-container\">\n    <div class=\"wp_blog_code-tabs-header\">\n      <button class=\"wp_blog_code-tab-button active\" data-lang=\"js\">JavaScript<\/button>\n      <button class=\"wp_blog_code-tab-button\" data-lang=\"cpp\">C++<\/button>\n      <button class=\"wp_blog_code-tab-button\" data-lang=\"c\">C<\/button>\n      <button class=\"wp_blog_code-tab-button\" data-lang=\"java\">Java<\/button>\n      <button class=\"wp_blog_code-tab-button\" data-lang=\"py\">Python<\/button>\n    <\/div>\n  \n    <div class=\"wp_blog_code-tab-content active\" data-lang=\"js\">\n      <pre><code class=\"language-javascript\">\n  var merge = function(nums1, m, nums2, n) {\n    let p1 = m - 1;\n    let p2 = n - 1;\n  \n    for (let i = m + n - 1; i >= 0; i--) {\n      if (p2 < 0) break;\n  \n      if (p1 >= 0 && nums1[p1] > nums2[p2]) {\n        nums1[i] = nums1[p1--];\n      } else {\n        nums1[i] = nums2[p2--];\n      }\n    }\n  };\n      <\/code><\/pre>\n    <\/div>\n  \n    <div class=\"wp_blog_code-tab-content\" data-lang=\"cpp\">\n      <pre><code class=\"language-cpp\">\n  class Solution {\n  public:\n    void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {\n      int p1 = m - 1;\n      int p2 = n - 1;\n      int i = m + n - 1;\n  \n      while (p2 >= 0) {\n        if (p1 >= 0 && nums1[p1] > nums2[p2]) {\n          nums1[i--] = nums1[p1--];\n        } else {\n          nums1[i--] = nums2[p2--];\n        }\n      }\n    }\n  };\n      <\/code><\/pre>\n    <\/div>\n  \n    <div class=\"wp_blog_code-tab-content\" data-lang=\"c\">\n      <pre><code class=\"language-c\">\n  void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n) {\n    int p1 = m - 1;\n    int p2 = n - 1;\n    int i = m + n - 1;\n  \n    while (p2 >= 0) {\n      if (p1 >= 0 && nums1[p1] > nums2[p2]) {\n        nums1[i--] = nums1[p1--];\n      } else {\n        nums1[i--] = nums2[p2--];\n      }\n    }\n  }\n      <\/code><\/pre>\n    <\/div>\n  \n    <div class=\"wp_blog_code-tab-content\" data-lang=\"java\">\n      <pre><code class=\"language-java\">\n  class Solution {\n    public void merge(int[] nums1, int m, int[] nums2, int n) {\n      int p1 = m - 1;\n      int p2 = n - 1;\n      int i = m + n - 1;\n  \n      while (p2 >= 0) {\n        if (p1 >= 0 && nums1[p1] > nums2[p2]) {\n          nums1[i--] = nums1[p1--];\n        } else {\n          nums1[i--] = nums2[p2--];\n        }\n      }\n    }\n  }\n      <\/code><\/pre>\n    <\/div>\n  \n    <div class=\"wp_blog_code-tab-content\" data-lang=\"py\">\n      <pre><code class=\"language-python\">\n  class Solution:\n    def merge(self, nums1, m, nums2, n):\n      p1 = m - 1\n      p2 = n - 1\n      i = m + n - 1\n  \n      while p2 >= 0:\n        if p1 >= 0 and nums1[p1] > nums2[p2]:\n          nums1[i] = nums1[p1]\n          p1 -= 1\n        else:\n          nums1[i] = nums2[p2]\n          p2 -= 1\n        i -= 1\n      <\/code><\/pre>\n    <\/div>\n  <\/div>\n  \n<!-- \u2705 JS Tab Switch Logic -->\n<script>\ndocument.addEventListener('DOMContentLoaded', function () {\n    const buttons = document.querySelectorAll('.wp_blog_code-tab-button');\n    const contents = document.querySelectorAll('.wp_blog_code-tab-content');\n    buttons.forEach(button => {\n        button.addEventListener('click', () => {\n            const lang = button.getAttribute('data-lang');\n            buttons.forEach(btn => btn.classList.remove('active'));\n            button.classList.add('active');\n            contents.forEach(content => {\n                content.classList.toggle('active', content.getAttribute('data-lang') === lang);\n            });\n        });\n    });\n});\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>You are given two integer arrays nums1 and nums2, sorted in non-decreasing order, and two integers m and n, representing the number of elements in nums1 and nums2 respectively. Merge nums1 and nums2 into a single array sorted in non-decreasing order. The final sorted array should not be returned by the function, but instead be<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[811,810],"tags":[],"class_list":{"0":"post-6148","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-data-structures-and-algorithms","7":"category-dsa"},"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/namastedev.com\/blog\/wp-json\/wp\/v2\/posts\/6148","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/namastedev.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/namastedev.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/namastedev.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/namastedev.com\/blog\/wp-json\/wp\/v2\/comments?post=6148"}],"version-history":[{"count":3,"href":"https:\/\/namastedev.com\/blog\/wp-json\/wp\/v2\/posts\/6148\/revisions"}],"predecessor-version":[{"id":6166,"href":"https:\/\/namastedev.com\/blog\/wp-json\/wp\/v2\/posts\/6148\/revisions\/6166"}],"wp:attachment":[{"href":"https:\/\/namastedev.com\/blog\/wp-json\/wp\/v2\/media?parent=6148"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/namastedev.com\/blog\/wp-json\/wp\/v2\/categories?post=6148"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/namastedev.com\/blog\/wp-json\/wp\/v2\/tags?post=6148"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}