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

การค้นหาสตริงย่อยของ Anagram โดยใช้ Python


ในบทช่วยสอนนี้ เราจะเขียนโปรแกรมที่ค้นหาแอนนาแกรมทั้งหมดจากสตริง

ดูตัวอย่าง

Input:anagram ="cat"string ="tacghactcat"Output:Anagram ที่ 0Anagram ที่ 5Anagram ที่ 7Anagram ที่ 8

มาดูวิธีการเขียนโค้ดกันครับ ทำตามขั้นตอนด้านล่างเพื่อเขียนโค้ด

อัลกอริทึม

<ก่อน>1. เริ่มต้นสองสตริง2. สร้างฟังก์ชันที่ส่งกลับว่าสองสตริงเป็นแอนนาแกรมซึ่งกันและกันหรือไม่3. วนซ้ำผ่านสตริงหลักที่เราต้องค้นหาแอนนาแกรม 3.1. ตรวจสอบว่าสตริงย่อยเป็นแอนนาแกรมหรือไม่ใช้ฟังก์ชันที่เรากำหนดไว้ 3.1.1. หากเป็น True ให้พิมพ์ดัชนีเริ่มต้น

ตรวจสอบรหัสหากคุณรู้สึกว่าเขียนยาก

ตัวอย่าง

# กำลังนำเข้าคอลเลกชั่นเพื่อตรวจสอบ anagramsimport collections# เริ่มต้นสอง stringsanagram ='cat'string ='tacghactcat'# function เพื่อตรวจสอบ anagramsdef is_anagram(string):# กำลังตรวจสอบแอนนาแกรมว่า collections.Counter(anagram) ==collections Counter(string):# returning True if anagrams return True else:# returning False if not return False# รับความยาวของทั้งสอง stringsanagram_len =len(anagram)string_len =len(string)# iterarint through the stringfor i in range(string_len - anagram_len + 1):# กำลังตรวจสอบแอนนาแกรมถ้า is_anagram(string[i:i+anagram_len]):# พิมพ์ดัชนีพิมพ์ (f'Anagram ที่ {i}')

ผลลัพธ์

หากคุณเรียกใช้โปรแกรมข้างต้น คุณจะได้ผลลัพธ์ดังต่อไปนี้

Anagram ที่ 0Anagram ที่ 5Anagram ที่ 7Anagram ที่ 8

บทสรุป

หากคุณมีข้อสงสัยเกี่ยวกับบทแนะนำ โปรดระบุในส่วนความคิดเห็น