Cho chuỗi alphanumeric s. Tìm chữ số lớn thứ hai xuất hiện trong s. Nếu không có, trả về -1.
Ví dụ: s = "p84t3ho1n" → chữ số: 1,3,4,8 → lớn thứ 2 là 4.
Thuật toán giải quyết
- Tạo set lst lưu các chữ số (int).
- Duyệt ký tự trong s: nếu không phải chữ cái, thêm int vào lst.
- Nếu len(lst) ≤ 1: trả về -1.
- Sắp xếp lst, trả về phần tử thứ -2 (lớn thứ hai).
Ví dụ triển khai
def solve(s):
lst = set()
for let in s:
if not let.isalpha():
lst.add(int(let))
if len(lst) <= 1:
return -1
return sorted(list(lst))[len(lst) - 2]
s = "p84t3ho1n"
print(solve(s))Đầu vào
"p84t3ho1n"
Đầu ra
4