我有一個問題,我必須找到一個字符串的連續子字符串,條件是子字符串的第一個和最後一個字母必須是相同的。我試過這樣做,但運行時間超過了幾個測試用例的問題的時間限制。我嘗試使用map for for循環,但我不知道如何爲嵌套for循環做。任何人都可以請幫我減少這個程序的運行時間?需要減少我的程序的運行時間
n = int(raw_input())
string = str(raw_input())
def get_substrings(string):
length = len(string)
list = []
for i in range(length):
for j in range(i,length):
list.append(string[i:j + 1])
return list
substrings = get_substrings(string)
contiguous = filter(lambda x: (x[0] == x[len(x) - 1]), substrings)
print len(contiguous)
謝謝你的幫助。你能舉個例子嗎?我是python新手,完全理解hashmaps。 – therealdev
字符串中的單個字母怎麼樣?他們不是子網嗎?這種方法是否可以用來打印單個字母,也就是子字符串? – therealdev
這是一個簡單的修改,在第一個for循環打印每個字符後,將它們添加到字典映射 – soliman