|
发表于 2020-2-14 16:17:24
|
显示全部楼层
本帖最后由 fan1993423 于 2020-2-14 16:52 编辑
我看大伙都在仿照塔利班的答案,或者改写,还是要自己写思路才行。我这个可能不算快,但是我完全自己想的。支持TJBEST的想法
- def fun331(s):
- count_A,count_B=s.count('A'),s.count('B')
- s_inverse=s[::-1]
- index_A,index_B=s.find('A'),s_inverse.find('B')
- new_s=s[index_A+1:-index_B-1]
- t=len(new_s)
- first=len(s)-len(new_s)-2
- if len(set(new_s))==1 or not len(new_s):second=0
- else:
- for i in range(1,len(new_s)):
- second=min(new_s[:i].count('B')+new_s[i:].count('A'),t)
- t=second
- return min(count_A,count_B,first+second)
复制代码 |
|