โจทย์: กำหนดสตริง ตรวจสอบว่ามีตัวอักษรซ้ำหรือไม่ (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

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