class MaxMin:
def __new__(self):
self.max=None
self.min=None
def findMaxMin(self,arr):
self.max=arr[0]
self.min=arr[0]
i=0
while i<len(arr)-1:
if arr[i]>arr[i+1]:
tmp=arr[i]
arr[i]=arr[i+1]
arr[i+1]=tmp
i+=2
i=2
while i<len(arr):
if self.min>arr[i]:
self.min=arr[i]
i+=2
self.max=arr[1]
i=3
while i<len(arr):
if self.max<arr[i]:
self.max=arr[i]
i+=2
if len(arr)%2==1:
if self.max<arr[len(arr)-1]:
self.max=arr[len(arr)-1]
if self.min>arr[len(arr)-1]:
self.min=arr[len(arr)-1]
if __name__=="__main__":
arr=[7,3,19,40,4,7,1]
m=MaxMin()
m.findMaxMin(arr)
print m.min
print m.max
拓展,求第二大数
class MaxMin:
def __new__(self):
self.max=None
self.secondMax=None
def findMax(self,arr):
self.max=arr[0]
self.secondMax=arr[0]
i=1
while i<len(arr):
if self.max<arr[i]:
self.secondMax=self.max
self.max=arr[i]
elif self.secondMax<arr[i]:
self.secondMax=arr[i]
i+=1
if __name__=="__main__":
arr = [7, 3, 19, 40, 4, 7, 1]
m=MaxMin()
m.findMax(arr)
print m.max
print m.secondMax