หาตัวอักษรร่วมของสองสตริงและเรียงตามลำดับอัลฟาเบต ใช้ Counter และ intersection (&)
ตัวอย่าง
string1: "python" string2: "program" Output: "op"
อัลกอริทึม
- สร้าง Counter จากทั้งสองสตริง
- หา intersection:
c1 & c2(เก็บ min count) - ขยายเป็น list ด้วย
elements() - เรียงลำดับและ join
โค้ดตัวอย่าง
from collections import Counter
def common(str1, str2):
d1 = Counter(str1)
d2 = Counter(str2)
cdict = d1 & d2
if not cdict:
print(-1)
return
chars = sorted(cdict.elements())
print("Common characters are:", ''.join(chars))
s1 = input("Enter first string: ")
s2 = input("Enter second string: ")
common(s1, s2)
ผลลัพธ์
Enter first string: python Enter second string: program Common characters are: op