5
การค้นหาแอนนาแกรมที่น่าสนใจ
สมมติว่าและเป็นสองสตริงที่มีความยาวเท่ากัน anagrammingของสองสายคือการทำแผนที่ bijectiveเช่นว่าสำหรับแต่ละฉันb 1 b 2 … b na1a2…ana1a2…ana_1a_2\ldots a_nb1b2…bnb1b2…bnb_1b_2\ldots b_na i = b p ( i ) ip:[1…n]→[1…n]p:[1…n]→[1…n]p:[1\ldots n]\to[1\ldots n]ai=bp(i)ai=bp(i)a_i = b_{p(i)}iii อาจมีแอนนาแกรมมากกว่าหนึ่งรายการสำหรับคู่สายเดียวกัน ตัวอย่างเช่นถ้า `abcab` และเรามีและและอื่น ๆb = p 1 [ 1 , 2 , 3 , 4 , 5 ] → [ 4 , 5 , 1 , …