#在黑板上写了N个正整数组成的一个数列,进行如下操作: 每次擦去其中的两个数a和b,然后在数列中加入一个数a×b+1,
#如此下去直至黑板上 剩下一个数,在所有按这种操作方式最后得到的数中,最大的为max,最小的为min, 则该数列的极差定义为M=max-min。
#请你编程,对于给定的数列,计算极差。
# example: input 1 2 3 output 2
# 思路:每次取最大两个得到最小值,每次取最小两个得到最大值
a=[1,2,3]
def Max(a):
a.sort()
while len(a)>1:
#print a
a.append(a.pop(0)*a.pop(0)+1)
a.sort()
return a
def Min(a):
a.sort()
while len(a)>1:
#print a
a.append(a.pop(len(a)-1)*a.pop(len(a)-1)+1)
a.sort()
return a
print Max(a[:]),'\n',Min(a[:])
小算法题--4
最新推荐文章于 2021-12-31 10:32:44 发布