Học Python - Bài 53 Tìm số nguyên lớn nhì trong mảng
DANH SÁCH TÓM TẮT:
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 lớn nhì trong một mảng số nguyên.
Cách Thực Hiện
Chương Trình Python
# Hàm tìm số lớn nhì trong mảng
def tim_so_lon_nhi(mang):
if len(mang) < 2:
return None # Không đủ số lượng phần tử
so_lon_nhat = max(mang)
mang_loai_bo_max = [so for so in mang if so != so_lon_nhat] # Loại bỏ số lớn nhất
return max(mang_loai_bo_max, default=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ố lớn nhì
so_lon_nhi = tim_so_lon_nhi(mang)
print(“Số nguyên lớn nhì trong mảng:”, so_lon_nhi)
# Hàm tìm số lớn nhì tối ưu
def tim_so_lon_nhi_toi_uu(mang):
if len(mang) < 2:
return None # Không đủ số lượng phần tử
so_lon_nhat = so_lon_nhi = float(‘-inf’)
for so in mang:
if so > so_lon_nhat:
so_lon_nhi, so_lon_nhat = so_lon_nhat, so
elif so > so_lon_nhi and so != so_lon_nhat:
so_lon_nhi = so
return so_lon_nhi if so_lon_nhi != 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ố lớn nhì
so_lon_nhi = tim_so_lon_nhi_toi_uu(mang)
print(“Số nguyên lớn nhì trong mảng:”, so_lon_nhi)
So Sánh Hai Cách
Phương pháp | Độ phức tạp | Ưu điểm | Nhược điểm |
Dùng list comprehension + max | O(n) | Dễ hiểu, code ngắn gọn | Tốn bộ nhớ nếu danh sách lớn |
Vòng lặp duy nhất | O(n) | Tối ưu hơn về bộ nhớ và hiệu suất | 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: 20
Nhập phần tử thứ 6: 15
Số nguyên lớn nhì trong mảng: 15
Kết Luận
Bài viết đã hướng dẫn cách tìm số nguyên lớn nhì 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
2 Đề thi học sinh giỏi Tin học THCS cấp tỉnh Tiền Giang có đáp án SỞ…
1 Đề Thi Học Sinh Giỏi Tin học THCS cấp Tỉnh Tiền Giang có đáp…
Phần 1: Các bài tập dễ và cơ bản làm được các bài này các…
100 triệu là mức lương của lập trình Python vì sao? 1. Vì sao Python…
Bài 71: Đổi tất cả ký tự trong một chuỗi thành ký tự thường bằng…
Bài 26 - Tính Tổng Những Số Chia Hết Cho 3 và 5 bằng Python…
This website uses cookies.