{ "palindrome-String ": { "prefix": "palindrome", "body": [ "bool ispalindrome(string s)", "{", " int n=s.size();", " for(int i=0;i='a' && s[i]<='z') ", " f[s[i]-97]++;", " else", " if(s[i]>='A' && s[i]<='Z') ", " f[s[i]-65]++;", " }", " for(int i=0;i<26;i++)", " if(f[i]==0) return 0;", " return 1;", "}" ], "description": "pangram-string" }, "anagram-strings": { "prefix": "anagram", "body": [ "bool isanagram(string a, string b)", "{", " if(a.size()!=b.size()) return 0;", " int f[26]={0}; ", " for(int i=0;i='a' && a[i]<='z') ", " f[a[i]-97]++;", " else", " if(a[i]>='A' && a[i]<='Z') ", " f[a[i]-65]++;", " }", " for(int i=0;i='a' && b[i]<='z') ", " f[b[i]-97]--;", " else", " if(b[i]>='A' && b[i]<='Z') ", " f[b[i]-65]--;", " }", " for(int i=0;i<26;i++)", " if(f[i]!=0) return 0;", " return 1;", "}" ], "description": "anagram-strings" }, "string->decimal": { "prefix": "strtodec", "body": [ "long long int string_to_decimal(string s)", " {", " long long int ans = 0, p = 1;", " for (int i = s.size() - 1; i >= 0; i--)", " {", " ans += p * (s[i] - '0');", " p = p * 10;", " }", " return ans;", " }" ], "description": "string->decimal" }, "decimal->string": { "prefix": "dectostr", "body": [ "string decimal_to_string(long long int n)", " {", " if (n == 0)", " return 0;", " string ans = \"\";", " while (n > 0)", " {", " ans = ans + (char)((n % 10) + 48);", " n = n / 10;", " }", " reverse(ans.begin(), ans.end());", " return ans;", " }" ], "description": "decimal->string" }, "occurences of pattern in a string ": { "prefix": "kmp", "body": [ "vector kmp(string s,string t) //returns the indices of occurences of pattern t in string s", "{", " if(s.size()ans;", " i=0;j=0;", " while (i=0 && j>=0)", " {", " if (a[i] == b[j])", " {", " ans+=a[i]; ", " i--; j--;", " }", " else if (dp[i-1][j] > dp[i][j-1]) i--;", " else j--;", " }", " reverse(ans.begin(),ans.end());", " return ans;", "}" ], "description": "longest common subsequence of two strings" }, "longest common substring of two strings": { "prefix": "lc_substring", "body": [ "string lc_substring(string a,string b)", "{", " string ans=\"\";", " int n=a.size(),m=b.size(),i,j;", " if(n==0 || m==0) return \"\" ;", " int dp[n][m];", " dp[0][0]= a[0]==b[0]?1:0;", " for(i=1;i