"""
Ref:算法竞赛入门经典习题3-1
给出一个O和X组成的串(长度为1-80),统计得分。每个O的得分为目前连续出现O的个数,X
得分为0
"""
"""
解题思路:因题目给定串由X和O组成,不再对串做是否只是由X/O组成的判断
按'X'切割,然后求各个切分后的n*(n+1)/2 [n是切分后每一个小字符串的长度]
"""
def score(string):
split_string = string.split('X')
sum_string = 0
for spl in range(0,len(split_string)):
n = len(split_string[spl])
sum_string += n*(n+1)/2
return sum_string
if __name__ == '__main__':
string = 'OOXXOXXOOO'
string = ''
sum_string = score(string)
print(sum_string)
算法竞赛入门经典(第二版)——第三章 数组和字符串习题解答3.1
于 2018-09-09 21:11:10 首次发布