Python |统计给定字符串中出现频率最高的所有前缀
原文:https://www . geesforgeks . org/python-count-前缀-给定-字符串-最大频率/
给定一个字符串,打印并计算第一个字母比第二个字母出现频率高的所有前缀。 从用户处取两个字母进行比较。第一个字母给出的前缀比第二个字母出现的频率高,这样的前缀会被打印出来,否则结果将是 0。 例:
Input : string1 = "geek",
alphabet1 = "e", alphabet2 = "k"
Output :
ge
gee
geek
3
Input : string1 = "geek",
alphabet1 = "k", alphabet2 = "e"
Output :
0
方法:取一个空字符串,存储所有形成的前缀的字符串值。然后检查字母的频率是否比第二个字母高。如果没有发现这样的情况,那么结果将是 0 前缀。 下面是实现:
Python 3
# Python program to Count all
# prefixes in given string with
# greatest frequency
# Function to print the prefixes
def prefix(string1, alphabet1, alphabet2):
count = 0
non_empty_string = ""
string2 = list(string1)
# Loop for iterating the length of
# the string and print the prefixes
# and the count of query prefixes.
for i in range(0, len(string2)):
non_empty_string = non_empty_string + (string2[i])
if (non_empty_string.count(alphabet1) >
non_empty_string.count(alphabet2)):
# prints all required prefixes
print(non_empty_string)
# increment count
count += 1
# returns count of the
# required prefixes
return(count)
# Driver Code
print(prefix("geeksforgeeks", "e", "g"))
Output :
gee
geek
geeks
geeksf
geeksfo
geeksfor
geeksforge
geeksforgee
geeksforgeek
geeksforgeeks
10
时间复杂度: O(N),其中 N 为字符串的长度
辅助空间: O(N)
版权属于:月萌API www.moonapi.com,转载请注明出处