Code tìm số nhỏ thứ hai chạy không được

Mn giúp e với ạ, đề bài của em là tìm số nhỏ thứ hai mà lúc e chạy ko dc. E cảm ơn rất nhiều ạ

def second_min(a):
    min_1 = min(a[0], a[1])
    min_2 = max(a[0], a[1])
    for i in range(2, len(a)):
        if a[i] < min_1:
            min_2 = min_1
            min_1 = a[i]
        elif (a[i] < min_2) and (min_1 != a[i]):
            min_2 = a[i]
    return min_2

Chạy ổn mà nhỉ. Chắc lỗi phần input rồi.

Nếu dãy chỉ toàn 1 số thì sẽ không có min_2 vì min_2 phải lớn hơn min_1. Cần 2 for.

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?