Học Python - Bài 54 Tìm số nguyên nhỏ thứ 3 trong mảng
Giới Thiệu
Trong bài viết này, chúng ta sẽ viết chương trình Python để tìm số nguyên nhỏ thứ 3 trong một mảng số nguyên.
Cách Thực Hiện
Chương Trình Python
# Hàm tìm số nhỏ thứ 3 trong mảng
def tim_so_nho_thu_ba(mang):
if len(mang) < 3:
return None # Không đủ số lượng phần tử
mang_khong_trung = sorted(set(mang)) # Sắp xếp và loại bỏ số trùng lặp
return mang_khong_trung[2] if len(mang_khong_trung) >= 3 else None
# Nhập số lượng phần tử của mảng
n = int(input("Nhập số phần tử của mảng: "))
mang = [int(input(f"Nhập phần tử thứ {i+1}: ")) for i in range(n)]
# Tìm số nhỏ thứ 3
so_nho_thu_ba = tim_so_nho_thu_ba(mang)
print("Số nguyên nhỏ thứ 3 trong mảng:", so_nho_thu_ba)
# Hàm tìm số nhỏ thứ 3 tối ưu
def tim_so_nho_thu_ba_toi_uu(mang):
if len(mang) < 3:
return None # Không đủ số lượng phần tử
so_nho_nhat = so_nho_nhi = so_nho_thu_ba = float('inf')
for so in mang:
if so < so_nho_nhat:
so_nho_thu_ba, so_nho_nhi, so_nho_nhat = so_nho_nhi, so_nho_nhat, so
elif so_nho_nhat < so < so_nho_nhi:
so_nho_thu_ba, so_nho_nhi = so_nho_nhi, so
elif so_nho_nhi < so < so_nho_thu_ba:
so_nho_thu_ba = so
return so_nho_thu_ba if so_nho_thu_ba != float('inf') else None
# Nhập số lượng phần tử của mảng
n = int(input("Nhập số phần tử của mảng: "))
mang = [int(input(f"Nhập phần tử thứ {i+1}: ")) for i in range(n)]
# Tìm số nhỏ thứ 3
so_nho_thu_ba = tim_so_nho_thu_ba_toi_uu(mang)
print("Số nguyên nhỏ thứ 3 trong mảng:", so_nho_thu_ba)
So Sánh Hai Cách
| Phương pháp | Độ phức tạp | Ưu điểm | Nhược điểm |
| Dùng sorted() + set() | O(n log n) | Code ngắn gọn, dễ hiểu | Hiệu suất thấp hơn khi mảng lớn |
| Vòng lặp duy nhất | O(n) | Tối ưu hơn về hiệu suất và bộ nhớ | Cần nhiều dòng code hơn |
Ví Dụ Chạy Chương Trình
Nhập số phần tử của mảng: 6
Nhập phần tử thứ 1: 10
Nhập phần tử thứ 2: 20
Nhập phần tử thứ 3: 5
Nhập phần tử thứ 4: 8
Nhập phần tử thứ 5: 12
Nhập phần tử thứ 6: 15
Số nguyên nhỏ thứ 3 trong mảng: 10
Kết Luận
Bài viết đã hướng dẫn cách tìm số nguyên nhỏ thứ 3 trong mảng bằng hai phương pháp:
Hy vọng bài viết hữu ích cho bạn!
Khóa học Python online từ cơ bản đến nâng cao
Kính thưa quý phụ huynh và các bạn học sinh thân mến! Trong kỷ nguyên…
Hướng Dẫn Giải Chi Tiết Đề Thi HSG Tin Học THCS Bình Phước 2019-2020 Bằng…
Hướng Dẫn Giải Chi Tiết Đề Thi HSG Tin Học Lớp 9 Tỉnh Bình Dương…
Hướng Dẫn Giải Chi Tiết Đề Thi HSG Tin Học Lớp 9 Tỉnh Bình Phước…
Hướng Dẫn Giải Chi Tiết Đề Thi HSG Tin Học Lớp 9 Tỉnh Bình Định…
Hướng Dẫn Giải Chi Tiết Đề Thi HSG Tin Học Lớp 9 Tỉnh Bình Định…