[英]Count all the occurrences of the prefix string
找到該位置存在的字母,並確定該位置n
之前相同字母的出現次數。
輸入:
長度= 9
字符串=“ abababbsa”
n = 9
輸出:
3
說明:
在nth
位置9(即a
找到字母。 計算該索引為3
之前的所有出現次數。
碼:
length = int(input())
string = list(input())
n = int(input())
str1 = string[n-1]
print(string[0:n-1].count(str1))
上面的代碼給出了TLE。 我該如何優化呢?
好吧,如果您使用re(regex)會變得容易
import re
length = int(input())
my_string = input('Enter your string')
n = int(input())
print(len(re.findall(my_string[n-1],my_string[:n-1])))
因此,正在發生的事情是,通過將字符串切成n-1並得到列表的長度(所有出現),我們找到了n之前字符的所有出現。
一種優化方法是照常使用字符串,盡管將其轉換為列表:
string = input()
復雜度現在為O(n),其中n是輸入位置,而在您的情況下,因為字符串已顯式轉換為列表,所以復雜度為O(字符串的長度)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.