{"id":1280,"date":"2020-06-10T17:51:16","date_gmt":"2020-06-10T17:51:16","guid":{"rendered":"https:\/\/blog.prepbytes.com\/?p=1280"},"modified":"2023-11-27T04:44:41","modified_gmt":"2023-11-27T04:44:41","slug":"minimum-number-of-steps-to-make-two-strings-anagram","status":"publish","type":"post","link":"https:\/\/prepbytes.com\/blog\/minimum-number-of-steps-to-make-two-strings-anagram\/","title":{"rendered":"Minimum Number of Steps to Make Two Strings Anagram"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645181193539-Article_446.png\" alt=\"\" \/><\/p>\n<p>In the realm of string manipulation, anagrams hold a significant place due to their intriguing nature. An anagram is formed by rearranging the letters of one word or phrase to create another, using all the original letters exactly once. When it comes to making two strings anagrams of each other, the challenge lies in determining the minimum number of steps required to transform one string into another. These steps often involve altering, deleting, or adding characters within the strings to achieve the desired result. Understanding the concept of anagram transformation and the minimum steps involved provides valuable insights into string manipulation algorithms and problem-solving techniques. This article explores the intriguing puzzle of determining the minimum number of steps needed to convert one string into an anagram of another, unraveling various approaches and strategies to solve this computational challenge.<\/p>\n<h2>How to Find the Minimum Number of Steps to Make Two Strings Anagram?How to Find the Minimum Number of Steps to Make Two Strings Anagram?<\/h2>\n<p>For given two string, Print minimum number of steps to make them anagram.<\/p>\n<p><a href=\"https:\/\/mycode.prepbytes.com\/problems\/strings\/MAKEANAGR\" 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\nexpertcoder zenithcoder\n\nOutput:\n4\n\nExplanation:\nIn 'expertcoder' and 'zenithcoder', 7 characters ('e','t','c','o','d','e','r') are common in both. \n\nCharacters which are not common are :\nIn 'expertcoder' : 'e','x','p','r'\nIn 'zenithcoder' : 'z','n','i','h'\n\nIf we convert, 'e' to 'z', 'x' to 'n', 'p' to 'i' and 'r' to 'h', both strings becomes Anagram.<\/code><\/pre>\n<h3>Solving Approach :<\/h3>\n<p><strong>Anagram:<\/strong> Two strings are anagram if both of them contain the same characters with a different arrangement. For example <code>prepbytes<\/code> and <code>bytesprep<\/code> are anagrams.<\/p>\n<ol>\n<li>\n<p>We can count a minimum number of changes if we can find if how many numbers of characters are different in one string from another string. We do it for both of the strings.<\/p>\n<\/li>\n<li>\n<p>We check this by scanning both strings, and increase value by <code>1<\/code> for the current character in 1<sup>st<\/sup> string and decrease the value by <code>1<\/code> for the current character in 2<sup>nd<\/sup> string. <\/p>\n<\/li>\n<li>\n<p>After scanning both strings, we find the absolute sum of the hash table where <code>sum<\/code> represents the number of characters different in both strings.  <\/p>\n<\/li>\n<li>\n<p>After checking this out, we know a single change would affect two characters, if we change one character to another one which is extra in second string and missing in the first string.<\/p>\n<\/li>\n<li>\n<p>So we print half of that <code>sum<\/code> as our answer.<\/p>\n<\/li>\n<\/ol>\n<h3>Example<\/h3>\n<ul>\n<li>Lets assume two strings to be &#8216;<code>prepbuddy<\/code>&#8216; and &#8216;<code>codepuddy<\/code>&#8216;.<\/li>\n<li>As we defined in the definition of anagram, two strings must have the same number of characters in any order. So we first find the number of characters which are different in both strings.<\/li>\n<li>We can calculate such characters using a hash table.<\/li>\n<li>After scanning both strings our hash table becomes<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes.com\/blog\/wp-content\/uploads\/2020\/06\/makeanagr.png\" alt=\"\" \/><\/p>\n<ul>\n<li>\n<p><code>1<\/code> in hash table means character is present in 1<sup>st<\/sup> string but not in 2<sup>nd<\/sup> string, and <code>-1<\/code> in hash table means character is present in 2<sup>nd<\/sup> string but not in 1<sup>st<\/sup> string,.<\/p>\n<\/li>\n<li>\n<p>Absolute sum of the hash table is <code>6<\/code> which means a total of <code>6<\/code> characters are different, half of it i.e. <code>3<\/code> is our final answer.<\/p>\n<\/li>\n<\/ul>\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_1282 {\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_1282 .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_1282 .wpsm_nav-tabs {\r\n    border-bottom: 0px solid #ddd;\r\n}\r\n#tab_container_1282 .wpsm_nav-tabs > li.active > a, #tab_container_1282 .wpsm_nav-tabs > li.active > a:hover, #tab_container_1282 .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_1282 .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_1282 .wpsm_nav-tabs > li > a:focus {\r\noutline: 0px !important;\r\n}\r\n\r\n#tab_container_1282 .wpsm_nav-tabs > li > a:before {\r\n\tdisplay:none !important;\r\n}\r\n#tab_container_1282 .wpsm_nav-tabs > li > a:after {\r\n\tdisplay:none !important ;\r\n}\r\n#tab_container_1282 .wpsm_nav-tabs > li{\r\npadding:0px !important ;\r\nmargin:0px;\r\n}\r\n\r\n#tab_container_1282 .wpsm_nav-tabs > li > a:hover , #tab_container_1282 .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_1282 .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_1282 .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_1282 .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_1282 .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_1282 .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_1282 .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_1282 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_1282 .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_1282 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_1282 .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_1282 .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_1282\" >\r\n\t \r\n\t\t\t\t\t<ul class=\"wpsm_nav wpsm_nav-tabs\" role=\"tablist\" id=\"myTab_1282\">\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_1282_1\" aria-controls=\"tabs_desc_1282_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_1282_2\" aria-controls=\"tabs_desc_1282_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_1282_3\" aria-controls=\"tabs_desc_1282_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_1282_4\" aria-controls=\"tabs_desc_1282_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_1282\">\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_1282_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;string.h&gt;\r\n    int 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        char a[100000], b[100000];\r\n        scanf(&quot;%s%s&quot;, a,b);\r\n\r\n        int n = strlen(a);\r\n        int hash[27] = {0}, count=0;\r\n\r\n        for(int i=0; i&lt;n; i++){\r\n            hash[a[i]-'a']++;\r\n            hash[b[i]-'a']--;\r\n        }\r\n\r\n        for(int i=0; i&lt;26; i++){\r\n            if(hash[i]&lt;0)\r\n              count -= hash[i];\r\n        }\r\n\r\n        printf(&quot;%d&#92;n&quot;, count);\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_1282_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\n    using namespace std;\r\n\r\n    int main()\r\n    {\r\n      int test;\r\n      cin&gt;&gt;test;\r\n\r\n      while(test--){\r\n\r\n        string a, b;\r\n        cin&gt;&gt;a&gt;&gt;b;\r\n\r\n        int hash[26] = {0}, count=0;\r\n        for(int i=0; i&lt;b.length(); i++){\r\n            hash[a[i]-'a']++;\r\n            hash[b[i]-'a']--;\r\n        }\r\n\r\n        for(int i=0; i&lt;26; i++){\r\n            if(hash[i]&lt;0)\r\n              count -= hash[i];\r\n        }\r\n\r\n        cout&lt;&lt;count&lt;&lt;endl;\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_1282_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    import java.io.*;\r\n    import java.lang.Math;\r\n\r\n    public class Main {\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          while(test != 0){\r\n\r\n            String a = sc.next();\r\n            String b = sc.next();\r\n\r\n            int hash[] = new int[26];\r\n            int count=0;\r\n\r\n            for(int i=0; i&lt;b.length(); i++){\r\n                hash[a.charAt(i)-'a']++;\r\n                hash[b.charAt(i)-'a']--;\r\n            }\r\n\r\n            for(int i=0; i&lt;26; i++){\r\n                if(hash[i]&lt;0)\r\n                  count -= hash[i];\r\n            }\r\n\r\n            System.out.println(count);\r\n            test--;\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_1282_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\nfor _ in range(int(input())):\r\n\t\r\n\ta, b = input().split()\r\n\thash = [0] * 26\r\n\tcount = 0\r\n\t\r\n\tfor i in range(len(b)):\r\n\t\thash[ord(a[i]) - ord(&quot;a&quot;)] += 1\r\n\t\thash[ord(b[i]) - ord(&quot;a&quot;)] -= 1\r\n\r\n\tfor i in range(26):\r\n\t\tif hash[i] &lt; 0:\r\n\t\t\tcount -= hash[i]\r\n\r\n\tprint(count)\r\n\r\n<\/pre>\r\n<!-- \/wp:enlighter\/codeblock -->\t\t\t\t\t\t <\/div>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t <\/div>\r\n\t\t\t\t\t \r\n\t\t\t\t <\/div>\r\n <script>\r\n\t\tjQuery(function () {\r\n\t\t\tjQuery('#myTab_1282 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_1282 a\"),jQuery(\"#tab-content_1282\"));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<strong>Space Complexity<\/strong> of this approach would be <code>O(1).<\/code><\/p>\n<p><strong>Conclusion:<\/strong><br \/>\nIn conclusion, the minimum number of steps required to make two strings anagrams of each other unveils an engaging puzzle in the realm of string manipulation and algorithmic problem-solving. Through this exploration, we&#8217;ve delved into diverse methodologies and techniques to decipher this challenge, from frequency-based approaches to leveraging different algorithms. Understanding the intricacies of anagram transformations not only sheds light on fundamental string manipulation concepts but also enhances problem-solving skills in computer science and programming. As we continue to explore the fascinating world of strings and their transformations, the quest for efficient algorithms to determine the minimum steps for anagram conversion remains an ongoing and captivating pursuit.<\/p>\n<h2>FAQ Related to Minimum Number of Steps to Make two Strings Anagram:<\/h2>\n<p>Here are some FAQs related to Minimum Number of Steps to Make Two Strings Anagram.<\/p>\n<p><strong>1. What is an anagram?<\/strong><br \/>\nAn anagram is a word or phrase formed by rearranging the letters of another word or phrase, using all the original letters exactly once. For example, &quot;listen&quot; and &quot;silent&quot; are anagrams of each other.<\/p>\n<p><strong>2. How do you determine the minimum steps to make two strings anagrams?<\/strong><br \/>\nThe minimum number of steps required to make two strings anagrams involves comparing their characters and calculating the differences in their frequencies. By tallying the count of characters in each string and identifying the discrepancies, one can determine the minimum alterations needed to transform one string into an anagram of the other.<\/p>\n<p><strong>3. Can you provide an example of determining the minimum steps for anagram conversion?<\/strong><br \/>\nSure! Consider two strings, &quot;abcde&quot; and &quot;abbcf.&quot; To make &quot;abcde&quot; an anagram of &quot;abbcf,&quot; you&#8217;d need to change the second string to &quot;abcde&quot; by adding an &#8216;e&#8217; and removing an extra &#8216;b&#8217; and &#8216;f.&#8217; Therefore, the minimum number of steps required is adding one character and removing two characters.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the realm of string manipulation, anagrams hold a significant place due to their intriguing nature. An anagram is formed by rearranging the letters of one word or phrase to create another, using all the original letters exactly once. When it comes to making two strings anagrams of each other, the challenge lies in determining [&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":[76],"tags":[96,65,88,56],"class_list":["post-1280","post","type-post","status-publish","format-standard","hentry","category-strings-interview-questions","tag-coding","tag-interview","tag-medium","tag-strings"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Strings Interview Programming | Prepbytes|<\/title>\n<meta name=\"description\" content=\"Two Strings Are Anagram If Both of Them Contain the Same Characters With a Different Arrangement.we Can Count a Minimum Number of Changes If We Can Find If How Many Numbers of Characters Are Different.\" \/>\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\/minimum-number-of-steps-to-make-two-strings-anagram\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Strings Interview Programming | Prepbytes|\" \/>\n<meta property=\"og:description\" content=\"Two Strings Are Anagram If Both of Them Contain the Same Characters With a Different Arrangement.we Can Count a Minimum Number of Changes If We Can Find If How Many Numbers of Characters Are Different.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/prepbytes.com\/blog\/minimum-number-of-steps-to-make-two-strings-anagram\/\" \/>\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-10T17:51:16+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-11-27T04:44:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645181193539-Article_446.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=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/prepbytes.com\/blog\/minimum-number-of-steps-to-make-two-strings-anagram\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/minimum-number-of-steps-to-make-two-strings-anagram\/\"},\"author\":{\"name\":\"Prepbytes\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e\"},\"headline\":\"Minimum Number of Steps to Make Two Strings Anagram\",\"datePublished\":\"2020-06-10T17:51:16+00:00\",\"dateModified\":\"2023-11-27T04:44:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/minimum-number-of-steps-to-make-two-strings-anagram\/\"},\"wordCount\":781,\"commentCount\":0,\"publisher\":{\"@id\":\"http:\/\/43.205.93.38\/#organization\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/minimum-number-of-steps-to-make-two-strings-anagram\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645181193539-Article_446.png\",\"keywords\":[\"coding\",\"interview\",\"medium\",\"Strings\"],\"articleSection\":[\"Strings Interview Questions\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/prepbytes.com\/blog\/minimum-number-of-steps-to-make-two-strings-anagram\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/prepbytes.com\/blog\/minimum-number-of-steps-to-make-two-strings-anagram\/\",\"url\":\"https:\/\/prepbytes.com\/blog\/minimum-number-of-steps-to-make-two-strings-anagram\/\",\"name\":\"Strings Interview Programming | Prepbytes|\",\"isPartOf\":{\"@id\":\"http:\/\/43.205.93.38\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/minimum-number-of-steps-to-make-two-strings-anagram\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/minimum-number-of-steps-to-make-two-strings-anagram\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645181193539-Article_446.png\",\"datePublished\":\"2020-06-10T17:51:16+00:00\",\"dateModified\":\"2023-11-27T04:44:41+00:00\",\"description\":\"Two Strings Are Anagram If Both of Them Contain the Same Characters With a Different Arrangement.we Can Count a Minimum Number of Changes If We Can Find If How Many Numbers of Characters Are Different.\",\"breadcrumb\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/minimum-number-of-steps-to-make-two-strings-anagram\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/prepbytes.com\/blog\/minimum-number-of-steps-to-make-two-strings-anagram\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/prepbytes.com\/blog\/minimum-number-of-steps-to-make-two-strings-anagram\/#primaryimage\",\"url\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645181193539-Article_446.png\",\"contentUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645181193539-Article_446.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/prepbytes.com\/blog\/minimum-number-of-steps-to-make-two-strings-anagram\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"http:\/\/43.205.93.38\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Strings Interview Questions\",\"item\":\"https:\/\/prepbytes.com\/blog\/category\/strings-interview-questions\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Minimum Number of Steps to Make Two Strings Anagram\"}]},{\"@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":"Strings Interview Programming | Prepbytes|","description":"Two Strings Are Anagram If Both of Them Contain the Same Characters With a Different Arrangement.we Can Count a Minimum Number of Changes If We Can Find If How Many Numbers of Characters Are Different.","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\/minimum-number-of-steps-to-make-two-strings-anagram\/","og_locale":"en_US","og_type":"article","og_title":"Strings Interview Programming | Prepbytes|","og_description":"Two Strings Are Anagram If Both of Them Contain the Same Characters With a Different Arrangement.we Can Count a Minimum Number of Changes If We Can Find If How Many Numbers of Characters Are Different.","og_url":"https:\/\/prepbytes.com\/blog\/minimum-number-of-steps-to-make-two-strings-anagram\/","og_site_name":"PrepBytes Blog","article_publisher":"https:\/\/www.facebook.com\/prepbytes0211\/","article_published_time":"2020-06-10T17:51:16+00:00","article_modified_time":"2023-11-27T04:44:41+00:00","og_image":[{"url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645181193539-Article_446.png","type":"","width":"","height":""}],"author":"Prepbytes","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Prepbytes","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/prepbytes.com\/blog\/minimum-number-of-steps-to-make-two-strings-anagram\/#article","isPartOf":{"@id":"https:\/\/prepbytes.com\/blog\/minimum-number-of-steps-to-make-two-strings-anagram\/"},"author":{"name":"Prepbytes","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e"},"headline":"Minimum Number of Steps to Make Two Strings Anagram","datePublished":"2020-06-10T17:51:16+00:00","dateModified":"2023-11-27T04:44:41+00:00","mainEntityOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/minimum-number-of-steps-to-make-two-strings-anagram\/"},"wordCount":781,"commentCount":0,"publisher":{"@id":"http:\/\/43.205.93.38\/#organization"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/minimum-number-of-steps-to-make-two-strings-anagram\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645181193539-Article_446.png","keywords":["coding","interview","medium","Strings"],"articleSection":["Strings Interview Questions"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/prepbytes.com\/blog\/minimum-number-of-steps-to-make-two-strings-anagram\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/prepbytes.com\/blog\/minimum-number-of-steps-to-make-two-strings-anagram\/","url":"https:\/\/prepbytes.com\/blog\/minimum-number-of-steps-to-make-two-strings-anagram\/","name":"Strings Interview Programming | Prepbytes|","isPartOf":{"@id":"http:\/\/43.205.93.38\/#website"},"primaryImageOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/minimum-number-of-steps-to-make-two-strings-anagram\/#primaryimage"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/minimum-number-of-steps-to-make-two-strings-anagram\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645181193539-Article_446.png","datePublished":"2020-06-10T17:51:16+00:00","dateModified":"2023-11-27T04:44:41+00:00","description":"Two Strings Are Anagram If Both of Them Contain the Same Characters With a Different Arrangement.we Can Count a Minimum Number of Changes If We Can Find If How Many Numbers of Characters Are Different.","breadcrumb":{"@id":"https:\/\/prepbytes.com\/blog\/minimum-number-of-steps-to-make-two-strings-anagram\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/prepbytes.com\/blog\/minimum-number-of-steps-to-make-two-strings-anagram\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/prepbytes.com\/blog\/minimum-number-of-steps-to-make-two-strings-anagram\/#primaryimage","url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645181193539-Article_446.png","contentUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645181193539-Article_446.png"},{"@type":"BreadcrumbList","@id":"https:\/\/prepbytes.com\/blog\/minimum-number-of-steps-to-make-two-strings-anagram\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"http:\/\/43.205.93.38\/"},{"@type":"ListItem","position":2,"name":"Strings Interview Questions","item":"https:\/\/prepbytes.com\/blog\/category\/strings-interview-questions\/"},{"@type":"ListItem","position":3,"name":"Minimum Number of Steps to Make Two Strings Anagram"}]},{"@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\/1280","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=1280"}],"version-history":[{"count":10,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/1280\/revisions"}],"predecessor-version":[{"id":18378,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/1280\/revisions\/18378"}],"wp:attachment":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/media?parent=1280"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/categories?post=1280"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/tags?post=1280"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}