Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรม Python ตรวจสอบว่าสตริงมีตัวอักษรซ้ำหรือไม่ (Unique Characters)

โจทย์: กำหนดสตริง ตรวจสอบว่ามีตัวอักษรซ้ำหรือไม่ (Unique characters)

แนวทาง

  • สร้าง boolean array ขนาด 128 (ASCII) flag[i] = True ถ้าตัวอักษร i ปรากฏแล้ว
  • ถ้าพบตัวอักษรซ้ำ (flag[val] เป็น True) คืนค่า False ทันที
  • ถ้าความยาวสตริง > 256 คืนค่า False ทันที (pigeonhole principle)

โค้ดตัวอย่าง

def isUniqueChars(st):
    if len(st) > 256:
        return False
    char_set = [False] * 128
    for i in range(len(st)):
        val = ord(st[i])
        if char_set[val]:
            return False
        char_set[val] = True
    return True

st = "tutorialspoint"
print(isUniqueChars(st))

ผลลัพธ์

False

โปรแกรม Python ตรวจสอบว่าสตริงมีตัวอักษรซ้ำหรือไม่ (Unique Characters)

สรุป

เรียนรู้วิธีตรวจสอบ Unique Characters ในสตริง: ใช้ boolean array ขนาด 128 (ASCII) ติดตามตัวอักษรที่เจอแล้ว