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

การใช้ตัวนับ () ใน Python 3.x เพื่อค้นหาการลบอักขระขั้นต่ำเพื่อสร้างสองสตริง anagram


ในบทความนี้ เราจะเรียนรู้เกี่ยวกับวิธีการสร้างสตริงใน pangram โดยใช้ฟังก์ชันตัวนับ () ใน Python 3.x หรือก่อนหน้านี้ ในการทำเช่นนั้น เราได้รับอนุญาตให้ลบอักขระใดๆ ออกจากสตริงอินพุต นอกจากนี้เรายังจะค้นหาจำนวนของอักขระที่จำเป็นดังกล่าวที่จะลบออกเพื่อทำให้สตริงเป็นแอนนาแกรม

กล่าวกันว่าสายอักขระสองสายเป็นแอนนาแกรมของกันและกันเมื่อมีตัวอักษรประเภทเดียวกันในลำดับแบบสุ่ม

วิธีการตัวนับ () มีอยู่ในโมดูลการรวบรวมที่มีอยู่ใน Python ข้อกำหนดเบื้องต้นคือการนำเข้าโมดูลคอลเลกชันเพื่อใช้ฟังก์ชันตัวนับ ()

อัลกอริทึม

<ก่อน>1. การแปลงสตริงอินพุตเป็นประเภทพจนานุกรมที่มีอักขระ askey และความถี่เป็นค่าโดยใช้ตัวนับ (inp_str) ที่มีอยู่ในโมดูลคอลเลกชัน2. การนับจำนวนคีย์ทั้งหมดและการนับจำนวนคีย์ที่ไม่ธรรมดาในพจนานุกรมทั้งสองที่แปลงจากสตริงอินพุต3. หากตรวจไม่พบคีย์ทั่วไป แสดงว่ามีความจำเป็นในการลบอักขระ (ผลรวมของความยาวของพจนานุกรมทั้งสอง) ออกจากสตริงอินพุตทั้งสอง มิฉะนั้น (สูงสุด (ความยาวของพจนานุกรมทั้งสอง) – จำนวนคีย์ทั่วไปที่มีอยู่ ) จะให้จำนวนอักขระที่ต้องการลบ

คอลเลกชันเคาน์เตอร์ เป็นคลาสย่อยของพจนานุกรมเพื่อให้แน่ใจว่าล่ามนับตัวอักษรโดยอัตโนมัติ เราไม่จำเป็นต้องสร้างสตริงย่อยหรือตรวจสอบว่าเป็นแอนนาแกรมด้วยตนเองหรือไม่

ตัวอย่าง

# สองสตริงกลายเป็นแอนนาแกรมจากคอลเลกชันที่นำเข้า Counterdef convertAnagram(str_1, str_2):# การแปลงสตริงเป็นประเภทพจนานุกรม dict_1 =ตัวนับ (str_1) dict_2 =ตัวนับ (str_2) keys_1 =dict_1.keys() keys_2 =dict_2.keys( ) # นับจำนวนคีย์ในรายการคีย์ทั้งสอง count_1 =len (keys_1) count_2 =len (keys_2) # แปลงคู่ของคีย์เป็นชุดเพื่อค้นหาคีย์ทั่วไป set_1 =set (keys_1) commonKeys =len (set_1.intersection (keys_2) ) if (commonKeys ==0):# ไม่พบสิ่งทั่วไป เช่น ทั้งหมดเป็นการส่งคืนที่แตกต่างกัน (count_1 + count_2) อื่น:# องค์ประกอบบางอย่างตรงกันแล้วในการส่งคืนอินพุต (max(count_1, count_2)-commonKeys)str_1 ='Tutorials' str_2 ='sTutalori'str_3='Point'print (convertAnagram(str_1, str_2))print (convertAnagram(str_3, str_2))

ผลลัพธ์

06

บทสรุป

ในบทความนี้ เราได้เรียนรู้วิธีที่เราสามารถสร้างแอนนาแกรมสตริงสองอันของกันและกันโดยนับจำนวนอักขระที่จำเป็นสำหรับการรักษาความสัมพันธ์ของแอนนาแกรม Python 2.x จำเป็น