倒序循环a序列, 记录最大值,用当前元素与当前最大值比较
只用了单层循环,并且没用max()函数, 时间复杂度是O(n)
n = int(input())
a = list(map(int,input().split()))
count=0
maxv=a[n-1]
for j in range(n-2,-1,-1):
if maxv > a[j]:
count+=1
if maxv < a[j]:
maxv = a[j]
print(count)
n = int(input("整数:"))
a = []
for i in range(n):
a.append(int(input(">>>")))
i = 0
s = 0
while i < n - 1:
t = a[i]
for j in a[i+1:]:
if j > t:
s += 1
break
i += 1
print(s)
n = int(input())
a = [eval(i) for i in input().split()]
count = 0
for i in range(n-1):
if a[i]<max(a[i+1:]):
count += 1
print(count)
我给你写个简单易懂的。
n=int(input('请输入查看的天数n:'))
xulie=input('请输入对应的n个整数,以逗号分隔')
xlist=list(eval(xulie))
t=0
for i in range(n-1):
if xlist[i+1]<xlist[i]:
t+=1
print('糟糕的天数为:',t)
这得归并排序求逆序对才可以过吧?