{"id":7887,"date":"2025-07-15T16:28:58","date_gmt":"2025-07-15T10:58:58","guid":{"rendered":"https:\/\/namastedev.com\/blog\/?p=7887"},"modified":"2026-01-17T20:05:22","modified_gmt":"2026-01-17T14:35:22","slug":"two-sum","status":"publish","type":"post","link":"https:\/\/namastedev.com\/blog\/two-sum\/","title":{"rendered":"Two Sum"},"content":{"rendered":"\n<!-- PrismJS for Syntax Highlighting -->\n<link\n  href=\"https:\/\/cdn.jsdelivr.net\/npm\/prismjs@1.29.0\/themes\/prism-tomorrow.min.css\"\n  rel=\"stylesheet\"\n\/>\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/prismjs@1.29.0\/prism.min.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_theme {\n  --primary: #E58C32;\n  --secondary: #030302;\n  --light-bg: #fef9f4;\n  --text-dark: #2d2d2d;\n  --tab-radius: 12px;\n  --shadow: 0 4px 12px rgba(0, 0, 0, 0.08);\n  --code-bg: #001f3f;\n  --code-text: #d4f1ff;\n}\n\n.wp_blog_container {\n  font-family: 'Segoe UI', sans-serif;\n  background: var(--light-bg);\n  margin: 0;\n  padding: 0;\n  color: var(--text-dark);\n}\n\n\/* Heading *\/\n.wp_blog_main-heading {\n  text-align: center;\n  font-size: 2.4rem;\n  color: var(--primary);\n  margin-top: 2.5rem;\n  font-weight: bold;\n}\n\n\/* Explanation Card *\/\n.wp_blog_explanation,\n.wp_blog_code-tabs-container {\n  max-width: 940px;\n  margin: 2rem auto;\n  padding: 2rem;\n  background: white;\n  border-radius: var(--tab-radius);\n  box-shadow: var(--shadow);\n}\n\n\/* Text and Visuals *\/\n.wp_blog_explanation h2 {\n  font-size: 1.4rem;\n  color: var(--primary);\n  margin-bottom: 0.5rem;\n}\n\n.wp_blog_explanation p,\n.wp_blog_explanation li {\n  font-size: 1.05rem;\n  line-height: 1.7;\n  margin: 0.5rem 0;\n}\n\n.wp_blog_explanation code {\n  background: #fef9f4;   \/* light bg instead of dark blue *\/\n  color: #E58C32;        \/* brand orange *\/\n  padding: 3px 6px;\n  border-radius: 4px;\n  font-family: 'Courier New', monospace;\n  font-weight: 600;      \/* optional, makes it pop *\/\n}\n\n.wp_blog_explanation img {\n  max-width: 100%;\n  border-radius: var(--tab-radius);\n  margin-top: 1rem;\n  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);\n}\n\n\/* Tab Buttons *\/\n.wp_blog_code-tabs-header {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 0.5rem;\n  margin-bottom: 1rem;\n}\n\n.wp_blog_code-tab-button {\n  padding: 0.6rem 1.2rem;\n  border: 1px solid var(--primary);\n  background: white;\n  color: var(--primary);\n  border-radius: 50px;\n  font-weight: 600;\n  cursor: pointer;\n  transition: all 0.3s ease;\n}\n\n.wp_blog_code-tab-button:hover {\n  background: var(--secondary);\n}\n\n.wp_blog_code-tab-button.active {\n  background: var(--primary);\n  color: white;\n}\n\n\/* Code Content *\/\n.wp_blog_code-tab-content {\n  display: none;\n  background: var(--code-bg);\n  border-radius: var(--tab-radius);\n}\n\n.wp_blog_code-tab-content.active {\n  display: block;\n}\n\n.wp_blog_code-tab-content pre {\n  margin: 0;\n  padding: 1.5rem;\n  font-size: 1rem;\n  overflow-x: auto;\n  background: var(--code-bg);\n  border-radius: var(--tab-radius);\n  color: var(--code-text);\n}\n\n\/* Dark mode variables *\/\n.wp_blog_theme.dark-mode {\n  --light-bg: #121212;\n  --text-dark: #f5f5f5;\n  --shadow: 0 4px 12px rgba(255, 255, 255, 0.08);\n  --code-bg: #1e1e1e;\n  --code-text: #c5f0ff;\n}\n\n.wp_blog_theme.dark-mode .wp_blog_explanation {\n  background: #1e1e1e;\n}\n\n\/* Dark mode code highlight *\/\n.wp_blog_theme.dark-mode .wp_blog_explanation code {\n  background: #333;\n  color: #ffd27f;\n}\n\n.wp_blog_theme {\n  position: relative; \/* makes it the reference for absolute children *\/\n}\n\n.wp_blog_toggle-btn {\n  position: absolute;\n  top: 1rem;\n  right: 1rem;\n  z-index: 9999;\n  padding: 0.5rem 0.8rem;\n  border-radius: 10%;\n  background: var(--primary);\n  color: white;\n  font-weight: bold;\n  cursor: pointer;\n  border: none;\n  box-shadow: var(--shadow);\n  transition: background 0.3s, transform 0.2s;\n}\n\n.wp_blog_toggle-btn:hover {\n  background: #cc772e;\n}\n\n.wp_blog_theme.dark-mode .wp_blog_code-tabs-container {\n  background: #1e1e1e;\n}\n<\/style>\n\n<div class=\"wp_blog_container wp_blog_theme\">\n<button id=\"blogNotesThemeToggle\" class=\"wp_blog_toggle-btn\">\ud83c\udf19<\/button>\n  <h1 class=\"wp_blog_main-heading\"><\/h1>\n\n   <div class=\"wp_blog_explanation\">\n        <h2>Problem Statement:<\/h2>\n        <p>Given an array of integers <code>nums<\/code> and an integer <code>target<\/code>, return indices of the two numbers such that they add up to <code>target<\/code>.<\/p>\n\n        <p>You may assume that each input would have <strong>exactly one solution<\/strong>, and you may not use the same element twice.<\/p>\n\n        <p>You can return the answer in any order.<\/p>\n                <h2>Examples:<\/h2>\n\n                <h5>Example 1:<\/h5>\n                <p><strong>Input:<\/strong> nums = [2,7,11,15], target = 9<\/p>\n                <p><strong>Output:<\/strong> [0,1]<\/p>\n                <p>\n                  <code>Explanation:<\/code>\n                  Because nums[0] + nums[1] == 9, we return [0, 1].\n                <\/p>\n\n                <h5>Example 2:<\/h5>\n                <p><strong>Input:<\/strong> nums = [3,2,4], target = 6<\/p>\n                <p><strong>Output:<\/strong> [1,2]<\/p>\n\n                <h5>Example 3:<\/h5>\n                <p><strong>Input:<\/strong> nums = [3,3], target = 6<\/p>\n                <p><strong>Output:<\/strong> [0,1]<\/p>\n\n                    <h2>Constraints:<\/h2>\n                    <ul>\n                      <li>2 <= nums.length <= 10<sup>4<\/sup><\/li>\n                      <li>-10<sup>9<\/sup> <= nums[i] <= 10 <sup>9<\/sup> <\/li>\n                      <li>-10<sup>9<\/sup> <= target <= 10 <sup>9<\/sup> <\/li>\n                      <li><strong>Only one valid answer exists.<\/strong><\/li>\n                    <\/ul>\n\n                <h2>Approach 1 (Brute-force: Two Pointers)<\/h2>\n                <ul>\n                    <li>Loop through all pairs of elements in the array using two nested loops.<\/li>\n                    <li>For each pair (i, j), check if <code>nums[i] + nums[j] === target<\/code>.<\/li>\n                    <li>If yes, return the indices <code>[i, j]<\/code>.<\/li>\n                <\/ul>\n\n                <h2>Time Complexity:<\/h2>\n                <li>\n                  <p><strong>Time Complexity = O(n<sup>2<\/sup>)<\/strong>\n            \n                  <\/li>\n                <h2>Space Complexity:<\/h2>\n                <li>\n                  <p><strong>Space Complexity = O(1)<\/strong>\n                  <\/p>\n                <\/li>\n\n<h2>Dry Run<\/h2>\n<div style=\"background: var(--light-bg); border-left: 4px solid var(--primary); padding: 1rem; border-radius: var(--tab-radius); margin: 1rem 0; color: var(--text-dark);\"> \n\n  <p><strong>Input:<\/strong> <code>nums = [4, 1, 2] target = 3<\/code><\/p> \n  <pre style=\"white-space: pre-wrap; background: var(--code-bg); padding: 1rem; border-radius: 8px; overflow-x: auto; color: var(--code-text);\">\n  <p><strong>State Transitions:<\/strong><\/p> \n  \nInitialize: \u2192 n = nums.length = 3\nFirst loop: i = 0\nInner loop: j = 1\n\u2192 nums[0] + nums[1] = 4 + 1 = 5 \u2260 3 \u2192 continue\nInner loop: j = 2\n\u2192 nums[0] + nums[2] = 4 + 2 = 6 \u2260 3 \u2192 continue\n\nSecond loop: i = 1\nInner loop: j = 2\n\u2192 nums[1] + nums[2] = 1 + 2 = 3 === target\n\u2192 return [1, 2]\n<\/pre>\n\n<p><strong>Final Output:<\/strong> <code>[1, 2]<\/code><\/p> <p><strong>Final State:<\/strong> Loop exited early after finding the pair at indices 1 and 2.<\/p> <\/div>\n                \n        <h2>Visualisation:<\/h2>\n        <img decoding=\"async\" src=\"https:\/\/namastedev.com\/blog\/wp-content\/uploads\/2025\/07\/Screenshot-2025-07-15-at-3.36.17\u202fPM.png\" alt=\"Stocks\" \/>\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=\"py\">Python<\/button>\n      <button class=\"wp_blog_code-tab-button\" data-lang=\"java\">Java<\/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=\"cs\">C#<\/button>\n    <\/div>\n           <!-- JavaScript -->\n        <div class=\"wp_blog_code-tab-content active\" data-lang=\"js\">\n            <pre><code class=\"language-javascript\">\nvar twoSum = function(nums, target) {\n    let n = nums.length;\n    for (let i = 0; i < n - 1; i++) {\n        for (let j = i + 1; j < n; j++) {\n            let sum = nums[i] + nums[j];\n            if (sum === target) {\n                return [i, j];\n            }\n        }\n    }\n}        <\/code><\/pre>\n        <\/div>\n\n        <!-- Python -->\n        <div class=\"wp_blog_code-tab-content\" data-lang=\"py\">\n            <pre><code class=\"language-python\">\ndef twoSum(nums, target):\n    n = len(nums)\n    for i in range(n - 1):\n        for j in range(i + 1, n):\n            sum = nums[i] + nums[j]\n            if sum == target:\n                return [i, j]\n            <\/code><\/pre>\n        <\/div>\n\n        <!-- Java -->\n        <div class=\"wp_blog_code-tab-content\" data-lang=\"java\">\n            <pre><code class=\"language-java\">\npublic class Solution {\n    public int[] twoSum(int[] nums, int target) {\n        int n = nums.length;\n        for(int i = 0; i < n - 1; i++) {\n            for(int j = i + 1; j < n; j++) {\n                int sum = nums[i] + nums[j];\n                if(sum == target) {\n                    return new int[] {i, j};\n                }\n            }\n        }\n        return new int[0];\n    }\n}       <\/code><\/pre>\n        <\/div>\n\n        <!-- C++ -->\n        <div class=\"wp_blog_code-tab-content\" data-lang=\"cpp\">\n            <pre><code class=\"language-cpp\">\n#include &lt;vector&gt;\nusing namespace std;\nvector<int> twoSum(vector<int>& nums, int target) {\n    int n = nums.size();\n    for(int i = 0; i < n - 1; i++) {\n        for(int j = i + 1; j < n; j++) {\n            int sum = nums[i] + nums[j];\n            if(sum == target) {\n                return {i, j};\n            }\n        }\n    }\n    return {};\n}\n  <\/code><\/pre>\n        <\/div>\n\n        <!-- C -->\n        <div class=\"wp_blog_code-tab-content\" data-lang=\"c\">\n            <pre><code class=\"language-c\">\n#include &lt;stdio.h&gt;\n\nvoid twoSum(int nums[], int n, int target, int result[2]) {\n    for(int i = 0; i < n - 1; i++) {\n        for(int j = i + 1; j < n; j++) {\n            int sum = nums[i] + nums[j];\n            if(sum == target) {\n                result[0] = i;\n                result[1] = j;\n                return;\n            }\n        }\n    }\n}     <\/code><\/pre>\n        <\/div>\n\n        <!-- C# -->\n        <div class=\"wp_blog_code-tab-content\" data-lang=\"cs\">\n            <pre><code class=\"language-csharp\">\nusing System;\nusing System.Collections.Generic;\n\npublic class Solution {\n    public int[] TwoSum(int[] nums, int target) {\n        int n = nums.Length;\n        for(int i = 0; i < n - 1; i++) {\n            for(int j = i + 1; j < n; j++) {\n                int sum = nums[i] + nums[j];\n                if(sum == target) {\n                    return new int[] { i, j };\n                }\n            }\n        }\n        return new int[0];\n    }\n}\n            <\/code><\/pre>\n        <\/div>\n  <\/div>\n\n\n <!-- Approach 2:  -->\n  <div class=\"wp_blog_container wp_blog_theme\"> \n    <h1 class=\"wp_blog_main-heading\"><\/h1>\n    <div class=\"wp_blog_explanation\">\n\n        <h2>Optimal Approach: HashMap<\/h2>\n            <ul>\n            <li>Store all elements with their indices in a map <code>(map[nums[i]] = i)<\/code>.<\/li>\n            <li><strong>Iterate<\/strong> through the array again to find the complement <code>(target - nums[i])<\/code>.<\/li>\n            <li>Check if the complement exists in the map and is <strong>not the same index<\/strong>.<\/li>\n            <li><code>Return<\/code> the pair of indices [i, map[complement]] as the result.<\/li>\n            <\/ul>\n                    <h2>Time Complexity:<\/h2>\n                    <li>\n                      <p><strong>Time Complexity = O(n)<\/strong>\n                      <\/li>\n                    <h2>Space Complexity:<\/h2>\n                    <li>\n                      <p><strong>Space Complexity = O(n)<\/strong> <\/p>\n\n                    <\/li>\n\n<h2>Dry Run<\/h2>\n<div style=\"background: var(--light-bg); border-left: 4px solid var(--primary); padding: 1rem; border-radius: var(--tab-radius); margin: 1rem 0; color: var(--text-dark);\"> \n<p><strong>Input:<\/strong> nums = [4, 1, 2] target = 3 <\/pre><\/p>\n<p><strong>State Transitions:<\/strong><\/p> \n  <pre style=\"white-space: pre-wrap; background: var(--code-bg); padding: 1rem; border-radius: 8px; overflow-x: auto; color: var(--code-text);\">\n  Step 1: Initialize \u2192 n = nums.length = 3 \u2192 map = {}\nFirst Loop (Building the map):\ni = 0 \u2192 map[4] = 0 \u2192 map = { 4: 0 }\ni = 1 \u2192 map[1] = 1 \u2192 map = { 4: 0, 1: 1 }\ni = 2 \u2192 map[2] = 2 \u2192 map = { 4: 0, 1: 1, 2: 2 }\n\nSecond Loop (Finding the pair):\ni = 0\n\u2192 pairToFind = target - nums[0] = 3 - 4 = -1\n\u2192 -1 not in map \u2192 continue\n\ni = 1\n\u2192 pairToFind = 3 - 1 = 2\n\u2192 2 in map AND map[2] !== 1 \u2192 True\n\u2192 return [1, 2]\n<\/pre>\n\n<p><strong>Final Output:<\/strong> <code>[1, 2]<\/code><\/p> <p><strong>Final State:<\/strong> Loop exited early after finding the pair at indices 1 and 2.<\/p> <\/div>\n    <\/div>\n\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=\"py\">Python<\/button>\n            <button class=\"wp_blog_code-tab-button\" data-lang=\"java\">Java<\/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=\"cs\">C#<\/button>\n        <\/div>\n\n        <!-- JavaScript -->\n        <div class=\"wp_blog_code-tab-content active\" data-lang=\"js\">\n            <pre><code class=\"language-javascript\">\nvar twoSum = function(nums, target) {\n    let n = nums.length;\n    let map = {};\n    \n    for(let i = 0; i < n; i++) {\n        map[nums[i]] = i;\n    }\n\n    for(let i = 0; i < n; i++) {\n        let pairToFind = target - nums[i];\n        if (pairToFind in map &#038;&#038; map[pairToFind] !== i) {\n            return [i, map[pairToFind]];\n        }\n    }\n};   <\/code><\/pre>\n        <\/div>\n\n        <!-- Python -->\n        <div class=\"wp_blog_code-tab-content\" data-lang=\"py\">\n            <pre><code class=\"language-python\">\ndef twoSum(nums, target):\n    map = {}\n    for i in range(len(nums)):\n        map[nums[i]] = i\n    for i in range(len(nums)):\n        pairToFind = target - nums[i]\n        if pairToFind in map and map[pairToFind] != i:\n            return [i, map[pairToFind]]\n            <\/code><\/pre>\n        <\/div>\n\n        <!-- Java -->\n        <div class=\"wp_blog_code-tab-content\" data-lang=\"java\">\n            <pre><code class=\"language-java\">\nimport java.util.HashMap;\npublic class Solution {\n    public int[] twoSum(int[] nums, int target) {\n        HashMap<Integer, Integer> map = new HashMap<>();\n        for (int i = 0; i < nums.length; i++) {\n            map.put(nums[i], i);\n        }\n        for (int i = 0; i < nums.length; i++) {\n            int pairToFind = target - nums[i];\n            if (map.containsKey(pairToFind) &#038;&#038; map.get(pairToFind) != i) {\n                return new int[] { i, map.get(pairToFind) };\n            }\n        }\n        return new int[0];\n    }\n}    <\/code><\/pre>\n        <\/div>\n\n        <!-- C++ -->\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;unordered_map&gt;\nusing namespace std;\n\nvector<int> twoSum(vector<int>& nums, int target) {\n    unordered_map<int, int> map;\n    for (int i = 0; i < nums.size(); i++) {\n        map[nums[i]] = i;\n    }\n    for (int i = 0; i < nums.size(); i++) {\n        int pairToFind = target - nums[i];\n        if (map.count(pairToFind) &#038;&#038; map[pairToFind] != i) {\n            return {i, map[pairToFind]};\n        }\n    }\n    return {};\n}\n <\/code><\/pre>\n        <\/div>\n\n        <!-- C -->\n        <div class=\"wp_blog_code-tab-content\" data-lang=\"c\">\n            <pre><code class=\"language-c\">\n#include &lt;stdio.h&gt;\n#include &lt;stdlib.h&gt;\nint* twoSum(int* nums, int numsSize, int target, int* returnSize) {\n    for (int i = 0; i < numsSize; i++) {\n        for (int j = i + 1; j < numsSize; j++) {\n            if (nums[i] + nums[j] == target) {\n                int* result = (int*)malloc(2 * sizeof(int));\n                result[0] = i;\n                result[1] = j;\n                *returnSize = 2;\n                return result;\n            }\n        }\n    }\n    *returnSize = 0;\n    return NULL;\n}\n\n<\/code><\/pre>\n        <\/div>\n\n        <!-- C# -->\n        <div class=\"wp_blog_code-tab-content\" data-lang=\"cs\">\n            <pre><code class=\"language-csharp\">\nusing System.Collections.Generic;\npublic class Solution {\n    public int[] TwoSum(int[] nums, int target) {\n        Dictionary<int, int> map = new Dictionary<int, int>();\n        for (int i = 0; i < nums.Length; i++) {\n            map[nums[i]] = i;\n        }\n        for (int i = 0; i < nums.Length; i++) {\n            int pairToFind = target - nums[i];\n            if (map.ContainsKey(pairToFind) &#038;&#038; map[pairToFind] != i) {\n                return new int[] { i, map[pairToFind] };\n            }\n        }\n        return new int[0];\n    }\n}      <\/code><\/pre>\n        <\/div>\n    <\/div>\n<\/div>\n\n<script>\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n    document.querySelectorAll(\".wp_blog_code-tabs-container\").forEach(container => {\n\n        const buttons = container.querySelectorAll(\".wp_blog_code-tab-button\");\n        const contents = container.querySelectorAll(\".wp_blog_code-tab-content\");\n\n        buttons.forEach(button => {\n            button.addEventListener(\"click\", () => {\n                const lang = button.getAttribute(\"data-lang\");\n\n                buttons.forEach(btn => btn.classList.remove(\"active\"));\n                contents.forEach(content => content.classList.remove(\"active\"));\n\n                button.classList.add(\"active\");\n                container\n                    .querySelector(`.wp_blog_code-tab-content[data-lang=\"${lang}\"]`)\n                    .classList.add(\"active\");\n            });\n        });\n\n    });\n\n      const themeToggle = document.getElementById(\"blogNotesThemeToggle\");\n  const themeContainer = document.querySelectorAll(\".wp_blog_theme\");\n\n  themeToggle.addEventListener(\"click\", () => {\n  themeContainer.forEach(container => {\n    container.classList.toggle(\"dark-mode\");\n  });\n\n  themeToggle.textContent =\n    themeContainer[0].classList.contains(\"dark-mode\") ? \"\u2600\ufe0f\" : \"\ud83c\udf19\";\n});\n\n});\n<\/script>\n\n","protected":false},"excerpt":{"rendered":"<p>\ud83c\udf19 Problem Statement: Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target. You may assume that each input would have exactly one solution, and you may not use the same element twice. You can return the answer in any order. Examples:<\/p>\n","protected":false},"author":108,"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":[210,322,260,176,175,212,211,811,810,174,172,173],"tags":[],"class_list":["post-7887","post","type-post","status-publish","format-standard","category-algorithms","category-algorithms-and-data-structures","category-c-c-plus-plus","category-csharp","category-cplusplus","category-code-optimization","category-data-structures","category-data-structures-and-algorithms","category-dsa","category-java","category-javascript","category-python"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/namastedev.com\/blog\/wp-json\/wp\/v2\/posts\/7887","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\/108"}],"replies":[{"embeddable":true,"href":"https:\/\/namastedev.com\/blog\/wp-json\/wp\/v2\/comments?post=7887"}],"version-history":[{"count":4,"href":"https:\/\/namastedev.com\/blog\/wp-json\/wp\/v2\/posts\/7887\/revisions"}],"predecessor-version":[{"id":11455,"href":"https:\/\/namastedev.com\/blog\/wp-json\/wp\/v2\/posts\/7887\/revisions\/11455"}],"wp:attachment":[{"href":"https:\/\/namastedev.com\/blog\/wp-json\/wp\/v2\/media?parent=7887"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/namastedev.com\/blog\/wp-json\/wp\/v2\/categories?post=7887"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/namastedev.com\/blog\/wp-json\/wp\/v2\/tags?post=7887"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}