MảngSắp xếp
Mô tả
Hội làng kết thúc vòng chung kết đấu võ cổ truyền. Ban tổ chức có một bảng điểm diemSo ghi lại tổng điểm của từng võ sinh sau các màn biểu diễn. Bạn là thư ký ban trọng tài, nhiệm vụ là phải nhanh chóng tìm ra á quân — người đạt mức điểm cao thứ hai toàn giải để trao cờ lưu niệm.
Lưu ý rất quan trọng: nếu có nhiều võ sinh cùng đạt điểm cao nhất (đồng quán quân), thì cấp bậc á quân sẽ được trao cho mức điểm thấp hơn ngay một bậc. Bạn cần trả về đúng mức điểm của á quân, không phải số thứ tự võ sinh.
Đầu vào
- Một mảng số nguyên
diemSo(kiểu danh sách trong Python) chứa điểm thi của các võ sinh.
Đầu ra
- Trả về một số nguyên duy nhất là mức điểm cao thứ hai (không trùng với điểm cao nhất) trong mảng.
- Nếu toàn bộ võ sinh đều đạt đúng một mức điểm (không có á quân), trả về
-1000000001.
Ràng buộc
- Số lượng võ sinh
nthỏa mãn2 ≤ n ≤ 10^5. - Mỗi điểm số trong mảng là số nguyên có giá trị tuyệt đối không vượt quá
10^9. - Yêu cầu thời gian thực thi:
O(n).
Ví dụ
Ví dụ 1:
- Đầu vào:
[95, 87, 95, 92, 88] - Đầu ra:
92 - Giải thích: Điểm cao nhất giải là
95(có hai người đạt mức này). Bỏ qua toàn bộ điểm 95, điểm cao thứ hai thực sự còn lại là92.
Ví dụ 2:
- Đầu vào:
[80, 80, 80] - Đầu ra:
-1000000001 - Giải thích: Cả ba võ sinh đều đạt đúng 80 điểm, không có mức điểm thấp hơn nào khác, do đó không có á quân.