Đề bài
Xem bản gốc (English)Trả về giá trị khác nhau lớn thứ hai trong danh sách. Các giá trị lặp lại chỉ tính một lần.
Cài đặt hàm second_largest(numbers).
Đầu vào
numbers: Một danh sách các số nguyên không âm.
Đầu ra
Trả về giá trị khác nhau lớn thứ hai, hoặc -1 nếu không tồn tại.
Ràng buộc
0 ≤ độ dài ≤ 100.000; 0 ≤ mỗi giá trị ≤ 10⁹
Ví dụ
Đầu vào:
numbers = [4, 9, 7, 9]
Kết quả mong đợi:
expected = 7
Đầu vào:
std::vector<long long> numbers = {4, 9, 7, 9};
Kết quả mong đợi:
long long expected = 7;
Đầu vào:
long[] numbers = new long[] {4, 9, 7, 9};
Kết quả mong đợi:
long expected = 7;
Giải thích
Các giá trị khác nhau là 9, 7, 4; giá trị lớn thứ hai là 7.
Đầu vào:
numbers = [5, 5]
Kết quả mong đợi:
expected = -1
Đầu vào:
std::vector<long long> numbers = {5, 5};
Kết quả mong đợi:
long long expected = -1;
Đầu vào:
long[] numbers = new long[] {5, 5};
Kết quả mong đợi:
long expected = -1;
Giải thích
Chỉ có một giá trị khác nhau, nên kết quả là -1.
Tham khảo
Thử thách này đã được điều chỉnh cho CodeUtility. Hãy làm theo đề bài và các ràng buộc ở trên.