Sort by

recency

|

959 Discussions

|

  • + 0 comments

    My c++ solution using map, here is the explanation : https://youtu.be/0-xHzWDVAME

    int anagram(string s) {
        if(s.size() % 2 == 1) return -1;
        map<char, int> mp;
        int ans = 0;
        for(int i = 0; i < s.size() / 2; i++) mp[s[i]]++;
        for(int i = s.size() / 2; i < s.size(); i++){
            if(mp[s[i]] != 0) mp[s[i]]--;
            else ans++;
        }
        return ans;
    }
    
  • + 0 comments

    Java 8 This is one of the easiest way to solve this problem.

     public static int anagram(String s) {
            int n = s.length();
            
            if(n % 2 != 0){
                return -1;
            }
            
            //Split the main string
            String left = s.substring(0, n/2);
            String right = s.substring(n/2, n);
            
            //Iterate the left string to verify if the letters are contained into the 
            // right string
            for(int i = 0; i < n/2; i++){
                if(right.contains(left.substring(i, i + 1))){
                    right = right.replaceFirst(left.substring(i, i + 1), "");
                }
            }
            return right.length();
            
            
    
        }
    
  • + 0 comments

    for Python3 Platform

    def anagram(s):
        if (len(s) % 2 != 0):
            return -1
        else:
            lst = list(s[len(s)//2:])
            
            for i in s[:len(s)//2]:
                if (i in lst):
                    lst.remove(i)
            
            return len(lst)
    
    q = int(input())
    for j in range(q):
        s = input()
        
        result = anagram(s)
        
        print(result)
    
  • + 0 comments
    def anagram(s):
        n = len(s)
        if n % 2 != 0:
            return -1
        A = s[:n//2]
        B = list(s[n//2:])
        for a in A:
            if a in B:
                B.remove(a)
        return len(B)
    
  • + 0 comments

    !/bin/python3

    import math import os import random import re import sys

    #

    Complete the 'anagram' function below.

    #

    The function is expected to return an INTEGER.

    The function accepts STRING s as parameter.

    #

    def anagram(s): # Write your code here length = len(s) if length%2 == 1: return -1 start, end = s[:length//2], s[length//2:] start = list(start) end = list(end) for letter in start: if letter in end: end.remove(letter)

    return len(end)
    

    if name == 'main': fptr = open(os.environ['OUTPUT_PATH'], 'w')

    q = int(input().strip())
    
    for q_itr in range(q):
        s = input()
    
        result = anagram(s)
    
        fptr.write(str(result) + '\n')
    
    fptr.close()