Die zweite Frage, die ich bereits gelöst habe
Ob es durch 4 teilbar ist, ist mit den letzten 2 Ziffern in Ordnung
answerA.py
r,g,b=map(int,input().split())
if (10*g+1*b)%4==0:
print("YES")
else:
print("NO")
Wenn Sie auch den ternären Operator verwenden
answerA_better.py
r,g,b=map(int,input().split())
print("YES" if (10*g+1*b)%4==0 else "NO")
Minimale Koordinaten → Maximale Koordinaten sind natürlich minimal
answerB.py
n=input()
a=[int(i) for i in input().split()]
print(max(a)-min(a))
Es kann einfacher sein als damals, als ich es geschrieben habe. Normalerweise können Sie die entsprechenden in der Reihenfolge von vorne schreiben. Wenn jedoch alle 3200 oder mehr sind, ist das Minimum 1, seien Sie also nur dort vorsichtig
answerC.py
x=[0]*9
n=int(input())
a=[int(i) for i in input().split()]
for i in range(n):
for j in range(8):
if a[i]<400*(j+1):
x[j]=1
break
else:
x[8]+=1
if x[:-1].count(1)!=0:
print(x[:-1].count(1),end=" ")
else:
print(1,end=" ")
print(x[:-1].count(1)+x[-1])
Als ich es zum ersten Mal löste, fand ich es wirklich schwierig. Kurz gesagt, es reicht aus, wenn ein Paar von ** "(" und ")" als Paar ** existiert. Damit ein Paar von "(" und ")" als Paar existiert, muss die Anzahl von "(" immer größer als ")" und die Anzahl von "(" und ")" gleich sein. Wenn Sie über Dinge wie das Verschachteln nachdenken, wird es kompliziert. Um die Anzahl der Klammern ** so konsistent zu machen, sollten Sie wie ein Stapel denken **! !! ** Wenn Sie wie ein Stapel denken, können Sie mit +1 und -1 prüfen, ohne sich die Mühe machen zu müssen, ihn zu packen ** (die Anzahl entspricht der Größe des Stapels)
answerD.py
n=int(input())
s=input()
if s[0]=="(":
c=1
d=1
else:
c=-1
d=-1
for i in range(1,n):
if s[i]=="(":
d+=1
else:
d-=1
c=min(c,d)
if c<0:
s="("*(-c)+s
print(s+")"*(s.count("(")-s.count(")")))
Recommended Posts