Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรม Python หาค่ามากที่สุด น้อยที่สุด อันดับ 2 มาก/น้อย ในลิสต์


หา max, min, second max, second min ในลิสต์โดย遍历ครั้งเดียว

ตัวอย่าง

Input: [12,30,2,34,90,67]
Output: Max=90, 2nd Max=67, Min=2, 2nd Min=12

อัลกอริทึม

  1. เริ่มต้น max, second_max, min, second_min = อิลิเมนต์แรก
  2. วนลูปอัปเดตทั้ง 4 ค่า

โค้ดตัวอย่าง

def maxmin(A):
    maxi = A[0]
    secondsmax = A[0]
    mini = A[0]
    secondmini = A[0]
    for item in A:
        if item > maxi:
            secondsmax = maxi
            maxi = item
        elif secondsmax != maxi and secondsmax < item:
            secondsmax = item
        if item < mini:
            secondmini = mini
            mini = item
        elif secondmini != mini and secondmini > item:
            secondmini = item
    print("Largest:", maxi)
    print("Second Largest:", secondsmax)
    print("Smallest:", mini)
    print("Second Smallest:", secondmini)

A = []
n = int(input("Enter size: "))
for _ in range(n):
    A.append(int(input()))
maxmin(A)

ผลลัพธ์

Enter size: 6
Enter numbers: 12 30 2 34 90 67
Largest: 90
Second Largest: 67
Smallest: 2
Second Smallest: 12