Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chương trình tìm chữ số lớn thứ hai trong chuỗi bằng Python

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