Trouvez simplement le total.
answerA.py
n=int(input())
print(n*(n+1)//2)
Ajoutez simplement 0,1 et supprimez avec B.
answerB.py
ans=""
s=input()
for i in s:
if i=="0":
ans+="0"
elif i=="1":
ans+="1"
else:
if i!=[]:
ans=ans[:-1]
print(ans)
Dans le cas de -100 ou moins et de 100 ou plus, -100 et 100 sont respectivement le minimum, alors recherchez toutes les valeurs qui changent de -100 à 100.
answerC.py
n=int(input())
a=[int(i) for i in input().split()]
ans=10000000000000
for i in range(-100,101):
ans_sub=0
for j in range(n):
ans_sub+=(a[j]-i)**2
ans=min(ans,ans_sub)
print(ans)
Premièrement, les chaînes non équilibrées ont la même majorité. De plus, (** pendant l'expérience **) ** j'ai trouvé que les sous-chaînes non équilibrées sont cachées à l'intérieur des chaînes non équilibrées **. Par exemple, l'échantillon nécessaire contient des sous-chaînes non équilibrées telles que nee et ede, mais ee in nee est également une sous-chaîne non équilibrée. Par conséquent, comme il est seulement nécessaire de sortir une sous-chaîne déséquilibrée, j'ai pensé à ce que la sous-chaîne est la plus petite unité. Premièrement, pour une sous-chaîne de longueur 2, elle devient une sous-chaîne déséquilibrée lorsque les deux caractères sont identiques. Ensuite, on peut voir que deux caractères sont également inclus dans la sous-chaîne de longueur 3, et si les caractères sont continus, la sous-chaîne de longueur 2 sera également une sous-chaîne déséquilibrée. Je vais. En d'autres termes, en supposant que la plus petite sous-chaîne déséquilibrée était présente, nous pouvons voir que la plus petite est susceptible d'avoir les mêmes caractères aux deux extrémités (ce qui peut être indiqué par l'absurdité lorsqu'elles n'ont pas les mêmes caractères). En outre, il est intuitivement compris que cette chaîne de caractères non équilibrée n'est pas la plus petite chaîne de caractères non équilibrée lorsque les mêmes caractères que les deux extrémités sont présents dans la chaîne de caractères non équilibrée. Par conséquent, il suffit qu'il y ait une chaîne de caractères non équilibrée (modèle tel que aa ou aba) qui a le même caractère aux deux extrémités et a une longueur de 2 ou plus, et cela doit être produit. De plus, ** parce que la majorité sont les mêmes caractères, les mêmes caractères sont toujours «adjacents» ou «tous les autres» **, ce qui prend en charge cette intuition. De plus, s'il n'y a pas de modèle comme ** aa ou aba, il y aura au moins deux caractères différents entre les mêmes caractères **, il n'est donc pas toujours possible de créer une chaîne déséquilibrée. Je peux dire. La discussion ci-dessus est mise en œuvre ci-dessous. Le code du premier bachacon était horrible, alors je l'ai réécrit.
answerD.py
def groupby(a):
a2=[[a[0],1]]
for i in range(1,len(a)):
if a2[-1][0]==a[i]:
a2[-1][1]+=1
else:
a2.append([a[i],1])
return a2
s1=list(input())
l=len(s1)
s2=groupby(s1)
now=0
for i in s2:
now+=i[1]
if i[1]!=1:
print(str(now-i[1]+1)+" "+str(now))
break
else:
if l==2:
print("-1 -1")
else:
for i in range(l-2):
if s1[i]==s1[i+2]:
print(str(i+1)+" "+str(i+3))
break
else:
print("-1 -1")
answerD_shorter_faster.py
from sys import exit
s=input()
l=len(s)
for i in range(l-2):
if s[i]==s[i+2]:
print(str(i+1)+" "+str(i+3))
exit()
if s[i]==s[i+1]:
print(str(i+1)+" "+str(i+2))
exit()
if s[l-2]==s[l-1]:
print(str(l-1)+" "+str(l))
else:
print("-1 -1")
Recommended Posts