Sort by

recency

|

2419 Discussions

|

  • + 0 comments

    Idea: string manipulation

    1. Time Complexity: O(N*M*P)
    2. Space Complexity: O(N)

    N: queries M: string lists P: string length

    int same_string(char* str1, char* str2){
        int counter = 0;
        while (str1[counter] == str2[counter] && str1[counter] != '\0' && str2[counter] != '\0'){
            counter ++;
        }
        return str1[counter] == str2[counter];
    } 
    
    int* matchingStrings(int stringList_count, char** stringList, int queries_count, char** queries, int* result_count) {
        int* res_arr = (int* )malloc(queries_count*sizeof(int));
        *result_count = queries_count;
        for (int i = 0; i<queries_count; i++){
            int total_count = 0;
            for (int j = 0; j<stringList_count; j++){
                int temp = same_string(stringList[j], queries[i]);
                total_count += temp;
            }
            res_arr[i] = total_count;
        }
        return res_arr;
    }
    
  • + 0 comments

    Idea: string manipulation

    1. Time Complexity: O(N*M*P)
    2. Space Complexity: O(N)
    int same_string(char* str1, char* str2){
        int counter = 0;
        while (str1[counter] == str2[counter] && str1[counter] != '\0' && str2[counter] != '\0'){
            counter ++;
        }
        return str1[counter] == str2[counter];
    } 
    
    int* matchingStrings(int stringList_count, char** stringList, int queries_count, char** queries, int* result_count) {
        int* res_arr = (int* )malloc(queries_count*sizeof(int));
        *result_count = queries_count;
        for (int i = 0; i<queries_count; i++){
            int total_count = 0;
            for (int j = 0; j<stringList_count; j++){
                int temp = same_string(stringList[j], queries[i]);
                total_count += temp;
            }
            res_arr[i] = total_count;
        }
        return res_arr;
    }
    
  • + 0 comments
    def matchingStrings(stringList, queries):
        lista = Counter(stringList)
        return [lista.get(q, 0) for q in queries]
    
  • + 0 comments
    def matchingStrings(stringList, queries):
        count = 0
        lista  = []
        for i in queries:
            for j in stringList:
                if i == j:
                    count +=1
            lista.append(count)
            count = 0
        return(lista)
    
  • + 0 comments

    public static List matchingStrings(List stringList, List queries) { // Write your code here List result = new ArrayList<>(); for(String query : queries){ int count = 0; for(String str : stringList){ if(query.equals(str)){ count++; } } result.add(count); }

    return result; }

    }