Count occurrences of a sub-string with one variable character

Given two strings a and b, and an integer k which is the index in b at which the character can be changed to any other character, the task is to check if b is a sub-string in a and print out how many times b occurs in a in total after replacing the b[k] with every possible lowercase character of English alphabet. Examples:

Input: a = “feeds”, b = “ee”, k = 1
Output: 1 Replace b[1] with ‘k’ and “ed” is a sub-string in “feeds” “ee” is also a sub-string in “feeds” Hence the total count is 2
Input: a = “dogdog”, b = “dop”, k = 2
Output: 2 Replace b[2] with ‘g’, “dog” is a sub-string in “dogdog” which appears twice.

Approach: Make a list of all possible versions of the string b by iterating through all the lowercase letters and replacing the kth i.e. b[k] character in b with the current character. Then count the number of occurrences of the new string b in the original string a and store it in a variable count. After all the lowercase characters are used, print the count.

Below is the implementation of the above approach:

Python3

# Python3 implementation of the approach
import string
# Function to return the count of occurrences
def countOccurrence(a, b, k):   
    # Generate all possible substrings to
    # be searched
    x = []
    for i in range(26):
        x.append(b[0:k] + string.ascii_lowercase[i] + b[k + 1:])
    # Now search every substring 'a' and
    # increment count  
    count = 0
    for var in x:
        if var in a:
            count += a.count(var)
            
    return count
# Driver code
a, b = "feeds", "ee"
k = 1
print(countOccurrence(a, b, k))



Output:

2

Explore More

What are Large Language Models

LLM stands for Large Language Model in the context of artificial intelligence. It refers to a type of AI model designed to understand, generate, and manipulate human language on a

Explain about Hugging Face Transformers

Hugging Face Transformers is a powerful library designed for natural language processing (NLP), computer vision, and audio tasks. It provides state-of-the-art pretrained models and tools for fine-tuning and deploying these

AI Roadmap using Python

Python is a great foundation for diving into AI! To take the next step in your AI learning journey, here’s a roadmap to guide you. 1. Strengthen Your Math Skills