{"id":2261,"date":"2020-06-15T02:14:49","date_gmt":"2020-06-15T02:14:49","guid":{"rendered":"https:\/\/blog.prepbytes.com\/?p=2261"},"modified":"2022-03-28T23:17:07","modified_gmt":"2022-03-28T23:17:07","slug":"find-words","status":"publish","type":"post","link":"https:\/\/prepbytes.com\/blog\/find-words\/","title":{"rendered":"Find words"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645099773164-Article_328.png\" alt=\"\" \/><\/p>\n<h3>Concepts Used<\/h3>\n<blockquote>\n<p>Trie<\/p>\n<\/blockquote>\n<h3>Difficulty Level<\/h3>\n<blockquote>\n<p>Easy<\/p>\n<\/blockquote>\n<h3>Problem Statement :<\/h3>\n<blockquote>\n<p>Given a blank dictionary. Now in the first set of operations, you have to insert N integers in the dictionary. And then you have to find M words in the dictionary and print &quot;Present&quot; if the word is present and &quot;Not&quot; if the word is not present in the Dictionary.<\/p>\n<\/blockquote>\n<p><a href=\"https:\/\/mycode.prepbytes.com\/problems\/tries\/DICTIONARY\" title=\"Go to mycode.prepbytes.com\" target=\"_blank\" rel=\"noopener noreferrer\"><u><strong><\/strong><\/u><\/a><\/p>\n<h3>Solution Approach :<\/h3>\n<h4>Introduction :<\/h4>\n<blockquote>\n<p>We will generate a <strong>tree<\/strong> with <code>26<\/code> outgoing nodes, for every alphabet. Insert every character as an individual node of the tree and mark where every word ends. This marking of word end will help us search a given word.<\/p>\n<\/blockquote>\n<h4>Description:<\/h4>\n<blockquote>\n<p>We will use <strong>trie<\/strong> to solve this problem.<br \/>\nA <strong>Trie<\/strong> is a special data structure used to store strings that can be visualized like a graph. It consists of nodes and edges. Each node consists of atmost <code>26<\/code> children and edges connect each parent node to its children. These <code>26<\/code> node pointers is for <code>26<\/code> letters of the English alphabet. A separate edge is maintained for every edge.<br \/>\nWe will <strong>insert<\/strong> every character of the word as individual node and now that we already know (from the definition above) that every node is a pointer to <code>26<\/code> different nodes which represents alphabets, we will determine if the input character is new or an extension of the previously inserted character. If it is new we will create a node and add it to the tree, otherwise we will keep inserting the character(node) , then mark the last character of the word being inserted, as the <strong>word end<\/strong>.<br \/>\nNow that we have inserted our words into the tree we will we given few other words whether they are present in the tree or not. We will search for every character , left to right, of the word (value to be searched). If every character is present and the last node of the tree (trie) which matches the last character of the word 9being searched) is the <strong>word end<\/strong>, then we can say its &quot;Present&quot; otherwise it is not.<\/p>\n<\/blockquote>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes.com\/blog\/wp-content\/uploads\/2020\/06\/dictionary-1.png\" alt=\"\" \/><\/p>\n<h4>Algorithm :<\/h4>\n<p><strong>insert()<\/strong>:<\/p>\n<ul>\n<li>iterate for every character in string, <code>value<\/code>,<\/li>\n<li>check if the character previously being inserted,<\/li>\n<li>if not,  make a new tree node for this character and add it as the children of the root.<\/li>\n<li>if it is already present, make the child node as parent and do the same with the remaining characters in <code>value<\/code>.<\/li>\n<li>After inserting the last character node of <code>value<\/code> in tree , mark that node as <strong>word end<\/strong>.<\/li>\n<\/ul>\n<p><strong>search()<\/strong>:<\/p>\n<ul>\n<li>iterate for every character <code>c<\/code> in string, <code>key<\/code>,<\/li>\n<li>if <code>c<\/code> is not present, <code>childern[c]==NULL<\/code>, return FALSE.<\/li>\n<li>else, if all  <code>c<\/code> are present and the current node is not NULL and current node is the <strong>word end<\/strong>, return TRUE.<\/li>\n<\/ul>\n<h3>Complexity Analysis :<\/h3>\n<p>We are inserting the characters of length <code>M<\/code>, lets say. Also we are searching for <code>M<\/code> character array at a time for a single query.<\/p>\n<p><strong>Space complexity<\/strong> of this data structure would be <code>O(26*M*N)<\/code>, where <code>M<\/code> is the length of the string , <code>N<\/code> is the number of nodes in trie.<\/p>\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_2262 {\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_2262 .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_2262 .wpsm_nav-tabs {\r\n    border-bottom: 0px solid #ddd;\r\n}\r\n#tab_container_2262 .wpsm_nav-tabs > li.active > a, #tab_container_2262 .wpsm_nav-tabs > li.active > a:hover, #tab_container_2262 .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_2262 .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_2262 .wpsm_nav-tabs > li > a:focus {\r\noutline: 0px !important;\r\n}\r\n\r\n#tab_container_2262 .wpsm_nav-tabs > li > a:before {\r\n\tdisplay:none !important;\r\n}\r\n#tab_container_2262 .wpsm_nav-tabs > li > a:after {\r\n\tdisplay:none !important ;\r\n}\r\n#tab_container_2262 .wpsm_nav-tabs > li{\r\npadding:0px !important ;\r\nmargin:0px;\r\n}\r\n\r\n#tab_container_2262 .wpsm_nav-tabs > li > a:hover , #tab_container_2262 .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_2262 .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_2262 .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_2262 .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_2262 .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_2262 .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_2262 .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_2262 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_2262 .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_2262 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_2262 .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_2262 .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_2262\" >\r\n\t \r\n\t\t\t\t\t<ul class=\"wpsm_nav wpsm_nav-tabs\" role=\"tablist\" id=\"myTab_2262\">\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_2262_1\" aria-controls=\"tabs_desc_2262_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_2262_2\" aria-controls=\"tabs_desc_2262_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_2262_3\" aria-controls=\"tabs_desc_2262_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_2262_4\" aria-controls=\"tabs_desc_2262_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_2262\">\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_2262_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\n#include &lt;stdlib.h&gt; \r\n#include &lt;string.h&gt; \r\n#include &lt;stdbool.h&gt; \r\n\r\n#define ARRAY_SIZE(a) sizeof(a)\/sizeof(a[0]) \r\n\r\n#define ALPHABET_SIZE (26) \r\n\r\n#define CHAR_TO_INDEX(c) ((int)c - (int)'a') \r\n\r\nstruct TrieNode \r\n{ \r\n    struct TrieNode *children[ALPHABET_SIZE]; \r\n\r\n    \/\/ isEndOfWord is true if the node represents \r\n    \/\/ end of a word \r\n    bool isEndOfWord; \r\n}; \r\n\r\nstruct TrieNode *getNode(void) \r\n{ \r\n    struct TrieNode *pNode = NULL; \r\n\r\n    pNode = (struct TrieNode *)malloc(sizeof(struct TrieNode)); \r\n\r\n    if (pNode) \r\n    { \r\n        int i; \r\n\r\n        pNode-&gt;isEndOfWord = 0; \r\n\r\n        for (i = 0; i &lt; ALPHABET_SIZE; i++) \r\n            pNode-&gt;children[i] = NULL; \r\n    } \r\n\r\n    return pNode; \r\n} \r\n\r\nvoid insert(struct TrieNode *root, const char *key) \r\n{ \r\n    int level; \r\n    int length = strlen(key); \r\n    int index; \r\n\r\n    struct TrieNode *pCrawl = root; \r\n\r\n    for (level = 0; level &lt; length; level++) \r\n    { \r\n        index = CHAR_TO_INDEX(key[level]); \r\n        if (!pCrawl-&gt;children[index]) \r\n            pCrawl-&gt;children[index] = getNode(); \r\n\r\n        pCrawl = pCrawl-&gt;children[index]; \r\n    } \r\n\r\n    \/\/ mark last node as leaf \r\n    pCrawl-&gt;isEndOfWord = true; \r\n} \r\n\r\n\r\nint search(struct TrieNode *root, const char *key) \r\n{ \r\n    int level; \r\n    int length = strlen(key); \r\n    int index; \r\n    struct TrieNode *pCrawl = root; \r\n\r\n    for (level = 0; level &lt; length; level++) \r\n    { \r\n        index = CHAR_TO_INDEX(key[level]); \r\n\r\n        if (!pCrawl-&gt;children[index]) \r\n            return false; \r\n\r\n        pCrawl = pCrawl-&gt;children[index]; \r\n    } \r\n\r\n    return (pCrawl != NULL &amp;&amp; pCrawl-&gt;isEndOfWord); \r\n} \r\n\r\nint main() \r\n{ \r\n    int t;\r\n    scanf(&quot;%d&quot;,&amp;t);\r\n    while(t--)\r\n    {\r\n      int n,m;\r\n      scanf(&quot;%d %d&quot;, &amp;n,&amp;m);\r\n      struct TrieNode *root = getNode(); \r\n      char *key = (char *)malloc(sizeof(char)*1001);\r\n      char *val = (char *)malloc(sizeof(char)*1001);;\r\n\r\n      for(int i=0;i&lt;n;i++)\r\n      {\r\n        scanf(&quot;%s&quot;,key);\r\n        insert(root, key); \r\n      }\r\n\r\n      for(int i=0;i&lt;m;i++)\r\n      {\r\n        scanf(&quot;%s&quot;,val);\r\n        search(root,val)?printf(&quot;%s&#92;n&quot;,&quot;Present&quot;):printf(&quot;%s&#92;n&quot;,&quot;Not&quot;);\r\n      }\r\n    }\r\n\r\n    return 0; \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_2262_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\nconst int ALPHABET_SIZE = 26; \r\n\r\n\/\/ trie node \r\nstruct TrieNode \r\n{ \r\n    struct TrieNode *children[ALPHABET_SIZE]; \r\n    bool isEndOfWord; \r\n}; \r\n\r\nstruct TrieNode *getNode(void) \r\n{ \r\n    struct TrieNode *pNode = new TrieNode; \r\n\r\n    pNode-&gt;isEndOfWord = false; \r\n\r\n    for (int i = 0; i &lt; ALPHABET_SIZE; i++) \r\n        pNode-&gt;children[i] = NULL; \r\n\r\n    return pNode; \r\n} \r\n\r\nvoid insert(struct TrieNode *root, string key) \r\n{ \r\n    struct TrieNode *pCrawl = root; \r\n\r\n    for (int i = 0; i &lt; key.length(); i++) \r\n    { \r\n        int index = key[i] - 'a'; \r\n        if (!pCrawl-&gt;children[index]) \r\n            pCrawl-&gt;children[index] = getNode(); \r\n\r\n        pCrawl = pCrawl-&gt;children[index]; \r\n    } \r\n\r\n    pCrawl-&gt;isEndOfWord = true; \r\n} \r\n\r\nbool search(struct TrieNode *root, string key) \r\n{ \r\n    struct TrieNode *pCrawl = root; \r\n\r\n    for (int i = 0; i &lt; key.length(); i++) \r\n    { \r\n        int index = key[i] - 'a'; \r\n        if (!pCrawl-&gt;children[index]) \r\n            return false; \r\n\r\n        pCrawl = pCrawl-&gt;children[index]; \r\n    } \r\n\r\n    return (pCrawl != NULL &amp;&amp; pCrawl-&gt;isEndOfWord); \r\n} \r\n\r\n\r\nint main()\r\n    { \r\n        int t;\r\n        cin&gt;&gt;t;\r\n        while(t--)\r\n        {\r\n          int n,m;\r\n          cin&gt;&gt;n&gt;&gt;m;\r\n          string keys[n],find[m];\r\n\r\n          struct TrieNode *root = getNode(); \r\n\r\n\r\n          for(int i=0;i&lt;n;i++)\r\n           {\r\n             cin&gt;&gt;keys[i];\r\n             insert(root, keys[i]); \r\n           }\r\n\r\n         for(int i=0;i&lt;m;i++)\r\n\r\n          {\r\n            cin&gt;&gt;find[i];\r\n                \/\/ Search for different keys \r\n         search(root, find[i])? cout &lt;&lt; &quot;Present&#92;n&quot;:cout &lt;&lt; &quot;Not&#92;n&quot;; \r\n          }\r\n\r\n\r\n        }\r\n    return 0; \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_2262_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\n\r\npublic class Main { \r\n\r\n    static final int ALPHABET_SIZE = 26; \r\n\r\n    static class TrieNode \r\n    { \r\n        TrieNode[] children = new TrieNode[ALPHABET_SIZE]; \r\n\r\n        boolean isEndOfWord; \r\n\r\n        TrieNode(){ \r\n            isEndOfWord = false; \r\n            for (int i = 0; i &lt; ALPHABET_SIZE; i++) \r\n                children[i] = null; \r\n        } \r\n    }; \r\n\r\n    static TrieNode root; \r\n\r\n    static void insert(String key) \r\n    { \r\n        int level; \r\n        int length = key.length(); \r\n        int index; \r\n\r\n        TrieNode pCrawl = root; \r\n\r\n        for (level = 0; level &lt; length; level++) \r\n        { \r\n            index = key.charAt(level) - 'a'; \r\n            if (pCrawl.children[index] == null) \r\n                pCrawl.children[index] = new TrieNode(); \r\n\r\n            pCrawl = pCrawl.children[index]; \r\n        } \r\n\r\n        \/\/ mark last node as leaf \r\n        pCrawl.isEndOfWord = true; \r\n    } \r\n\r\n    \/\/ Returns true if key presents in trie, else false \r\n    static boolean search(String key) \r\n    { \r\n        int level; \r\n        int length = key.length(); \r\n        int index; \r\n        TrieNode pCrawl = root; \r\n\r\n        for (level = 0; level &lt; length; level++) \r\n        { \r\n            index = key.charAt(level) - 'a'; \r\n\r\n            if (pCrawl.children[index] == null) \r\n                return false; \r\n\r\n            pCrawl = pCrawl.children[index]; \r\n        } \r\n\r\n        return (pCrawl != null &amp;&amp; pCrawl.isEndOfWord); \r\n    } \r\n\r\n    public static void main(String args[]) \r\n    { \r\n     Scanner sc = new Scanner(System.in);\r\n     int t= sc.nextInt();\r\n     while(t--&gt;0)\r\n     {\r\n        String key,val;\r\n\r\n        root = new TrieNode(); \r\n        int n= sc.nextInt();\r\n        int m = sc.nextInt();\r\n\r\n        for (int i = 0; i &lt; n; i++) \r\n        {\r\n          key = sc.next();\r\n            insert(key); \r\n        }\r\n\r\n        for(int j=0;j&lt;m;j++)\r\n        {\r\n          val = sc.next();\r\n          if(search(val) == true) \r\n              System.out.println(&quot;Present&quot;); \r\n          else System.out.println(&quot;Not&quot;); \r\n        }\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_2262_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\n# your code goes here\r\nALPHABET_SIZE = 26\r\nclass TrieNode:\r\n\tdef __init__(self):\r\n\t\tself.children = [None]*ALPHABET_SIZE\r\n\t\tself.isEndOfWord = None\r\n\r\ndef getNode():\r\n\tpNode = TrieNode()\r\n\tpNode.isEndOfWord = False\r\n\treturn pNode\r\n\r\ndef insert(root, key):\r\n\r\n\tpCrawl = root\r\n\t\r\n\tfor i in range(len(key)):\r\n\t\r\n\t\tindex = ord(key[i]) - ord(&quot;a&quot;)\r\n\t\r\n\t\tif not pCrawl.children[index]:\r\n\t\r\n\t\t\tpCrawl.children[index] = getNode()\r\n\t\r\n\t\tpCrawl = pCrawl.children[index]\r\n\t\r\n\tpCrawl.isEndOfWord = True\r\n\r\ndef search(root, key):\r\n\tpCrawl = root\r\n\tfor i in range(len(key)):\r\n\t\tindex = ord(key[i]) - ord(&quot;a&quot;)\r\n\t\tif not pCrawl.children[index]:\r\n\t\t\treturn False\r\n\t\tpCrawl = pCrawl.children[index]\r\n\treturn pCrawl and pCrawl.isEndOfWord\r\n\r\nfor _ in range(int(input())):\r\n\tn, m = map(int,input().split())\r\n\tkeys = input().split()\r\n\tfind = input().split()\r\n\troot = getNode()\r\n\tfor i in range(n):\r\n\t\tinsert(root, keys[i])\r\n\r\n\tfor i in range(m):\r\n\t\tres = search(root, find[i])\r\n\t\tif res:\r\n\t\t\tprint(&quot;Present&quot;)\r\n\t\telse:\r\n\t\t\tprint(&quot;Not&quot;)\r\n\r\n<\/pre>\r\n<!-- \/wp:enlighter\/codeblock -->\r\n\t\t\t\t\t\t <\/div>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t <\/div>\r\n\t\t\t\t\t \r\n\t\t\t\t <\/div>\r\n <script>\r\n\t\tjQuery(function () {\r\n\t\t\tjQuery('#myTab_2262 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_2262 a\"),jQuery(\"#tab-content_2262\"));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;2263&quot;]<\/p>\n<p>This article tried to discuss <strong>Trie<\/strong>. Hope this blog helps you understand and solve the problem. To practice more problems on Trie you can check out <a href=\"#\"><\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Concepts Used Trie Difficulty Level Easy Problem Statement : Given a blank dictionary. Now in the first set of operations, you have to insert N integers in the dictionary. And then you have to find M words in the dictionary and print &quot;Present&quot; if the word is present and &quot;Not&quot; if the word is not [&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":[118],"tags":[],"class_list":["post-2261","post","type-post","status-publish","format-standard","hentry","category-tries-interview-questions"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Tries Interview Questions | Find Words | Prepbytes<\/title>\n<meta name=\"description\" content=\"Now in the First Set of Operations, You Have to Insert N Integers in the Dictionary. and Then You Have to Find M Words in the Dictionary and Print &quot;present&quot; If the Word Is Present and &quot;not&quot;\" \/>\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\/find-words\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tries Interview Questions | Find Words | Prepbytes\" \/>\n<meta property=\"og:description\" content=\"Now in the First Set of Operations, You Have to Insert N Integers in the Dictionary. and Then You Have to Find M Words in the Dictionary and Print &quot;present&quot; If the Word Is Present and &quot;not&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/prepbytes.com\/blog\/find-words\/\" \/>\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-15T02:14:49+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-03-28T23:17:07+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645099773164-Article_328.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\/find-words\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/find-words\/\"},\"author\":{\"name\":\"Prepbytes\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e\"},\"headline\":\"Find words\",\"datePublished\":\"2020-06-15T02:14:49+00:00\",\"dateModified\":\"2022-03-28T23:17:07+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/find-words\/\"},\"wordCount\":525,\"commentCount\":0,\"publisher\":{\"@id\":\"http:\/\/43.205.93.38\/#organization\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/find-words\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645099773164-Article_328.png\",\"articleSection\":[\"Tries Interview Questions\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/prepbytes.com\/blog\/find-words\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/prepbytes.com\/blog\/find-words\/\",\"url\":\"https:\/\/prepbytes.com\/blog\/find-words\/\",\"name\":\"Tries Interview Questions | Find Words | Prepbytes\",\"isPartOf\":{\"@id\":\"http:\/\/43.205.93.38\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/find-words\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/find-words\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645099773164-Article_328.png\",\"datePublished\":\"2020-06-15T02:14:49+00:00\",\"dateModified\":\"2022-03-28T23:17:07+00:00\",\"description\":\"Now in the First Set of Operations, You Have to Insert N Integers in the Dictionary. and Then You Have to Find M Words in the Dictionary and Print \\\"present\\\" If the Word Is Present and \\\"not\\\"\",\"breadcrumb\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/find-words\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/prepbytes.com\/blog\/find-words\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/prepbytes.com\/blog\/find-words\/#primaryimage\",\"url\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645099773164-Article_328.png\",\"contentUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645099773164-Article_328.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/prepbytes.com\/blog\/find-words\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"http:\/\/43.205.93.38\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tries Interview Questions\",\"item\":\"https:\/\/prepbytes.com\/blog\/category\/tries-interview-questions\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Find words\"}]},{\"@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":"Tries Interview Questions | Find Words | Prepbytes","description":"Now in the First Set of Operations, You Have to Insert N Integers in the Dictionary. and Then You Have to Find M Words in the Dictionary and Print \"present\" If the Word Is Present and \"not\"","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\/find-words\/","og_locale":"en_US","og_type":"article","og_title":"Tries Interview Questions | Find Words | Prepbytes","og_description":"Now in the First Set of Operations, You Have to Insert N Integers in the Dictionary. and Then You Have to Find M Words in the Dictionary and Print \"present\" If the Word Is Present and \"not\"","og_url":"https:\/\/prepbytes.com\/blog\/find-words\/","og_site_name":"PrepBytes Blog","article_publisher":"https:\/\/www.facebook.com\/prepbytes0211\/","article_published_time":"2020-06-15T02:14:49+00:00","article_modified_time":"2022-03-28T23:17:07+00:00","og_image":[{"url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645099773164-Article_328.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\/find-words\/#article","isPartOf":{"@id":"https:\/\/prepbytes.com\/blog\/find-words\/"},"author":{"name":"Prepbytes","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e"},"headline":"Find words","datePublished":"2020-06-15T02:14:49+00:00","dateModified":"2022-03-28T23:17:07+00:00","mainEntityOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/find-words\/"},"wordCount":525,"commentCount":0,"publisher":{"@id":"http:\/\/43.205.93.38\/#organization"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/find-words\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645099773164-Article_328.png","articleSection":["Tries Interview Questions"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/prepbytes.com\/blog\/find-words\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/prepbytes.com\/blog\/find-words\/","url":"https:\/\/prepbytes.com\/blog\/find-words\/","name":"Tries Interview Questions | Find Words | Prepbytes","isPartOf":{"@id":"http:\/\/43.205.93.38\/#website"},"primaryImageOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/find-words\/#primaryimage"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/find-words\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645099773164-Article_328.png","datePublished":"2020-06-15T02:14:49+00:00","dateModified":"2022-03-28T23:17:07+00:00","description":"Now in the First Set of Operations, You Have to Insert N Integers in the Dictionary. and Then You Have to Find M Words in the Dictionary and Print \"present\" If the Word Is Present and \"not\"","breadcrumb":{"@id":"https:\/\/prepbytes.com\/blog\/find-words\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/prepbytes.com\/blog\/find-words\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/prepbytes.com\/blog\/find-words\/#primaryimage","url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645099773164-Article_328.png","contentUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645099773164-Article_328.png"},{"@type":"BreadcrumbList","@id":"https:\/\/prepbytes.com\/blog\/find-words\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"http:\/\/43.205.93.38\/"},{"@type":"ListItem","position":2,"name":"Tries Interview Questions","item":"https:\/\/prepbytes.com\/blog\/category\/tries-interview-questions\/"},{"@type":"ListItem","position":3,"name":"Find words"}]},{"@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\/2261","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=2261"}],"version-history":[{"count":11,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/2261\/revisions"}],"predecessor-version":[{"id":8310,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/2261\/revisions\/8310"}],"wp:attachment":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/media?parent=2261"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/categories?post=2261"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/tags?post=2261"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}