<prompt> Mfuatano wa jeni unaweza kuwakilishwa na mfuatano mrefu wenye herufi 8, pamoja na chaguo kutoka A, C, G, na T.Tuseme tunahitaji kuchunguza mabadiliko kutoka kwa mfuatano wa jeni startGene hadi mfuatano wa jeni endGene ambapo mabadiliko moja yanafafanuliwa kama herufi moja iliyobadilishwa katika mfuatano wa jeni. Kwa mfano, AACCGGTT -- AACCGGTA ni mabadiliko moja.Pia kuna benki ya jeni benki inayorekodi mabadiliko yote halali ya jeni. Jeni lazima iwe katika benki ili kuifanya kuwa mfuatano sahihi wa jeni.Kwa kuzingatia tungo mbili za jeni startGene na endGene na benki jeni benki, rudisha _idadi ya chini zaidi ya mabadiliko yanayohitajika ili kubadilika kutoka_ startGene _to_ endGene. Ikiwa hakuna mabadiliko kama hayo, rudisha -1.Kumbuka kuwa sehemu ya kuanzia inachukuliwa kuwa halali, kwa hivyo inaweza isijumuishwe kwenye benki.Mfano wa 1:Ingizo: startGene AACCGGTT , endGene AACCGGTA , benki ACCGGTA Pato: 1Mfano wa 2:Ingizo: startGene AACCGGTT , endGene AAACGGTA , bank ACCGGTA , AACCGCTA , AAACGGTA Pato: 2Vikwazo: 0 bank.length 10 startGene.length endGene.length benkii.length 8 startGene, endGene, na banki zinajumuisha vibambo A, C, G, T pekee.  <response>: chatukutoka kwa makusanyo kuagiza dequedef minMutationkuanza, mwisho, benki: q dequeanza alitembelea kuwekaanza kina 0 wakati q: levelSize lenq kwa _ katika masafalevelSize: sasa q.popleft ikiwa sasa mwisho: kurudi kwa kina kwa jeni katika benki: ikiwa jeni halijatembelewa: diff jumla 1 kwa j katika anuwai8 ikiwa ya sasaj ! jenij ikiwa tofauti 1: q.ongezagene alitembelea.ongezagene kina 1 kurudi -1maelezo1. Tumia foleni kufanya Utafutaji wa Upana-Kwanza.2. Sukuma jeni la kuanzia kwenye foleni, na uiongeze kwenye seti iliyotembelewa.3. Rudia hadi foleni iwe tupu. - Rudia kupitia kila ngazi mabadiliko yenye kina sawa ili kupata mabadiliko halali ya jeni. - Kwa kila jeni katika benki, ikiwa haijatembelewa: - Kokotoa tofauti kati ya jeni ya sasa na jeni nyingine kwa kurudia tabia kwa herufi. - Ikiwa tofauti ni 1 pekee, sukuma jeni mpya kwenye foleni na uiongeze kwenye seti iliyotembelewa. - Ongeza kina hesabu ya mabadiliko baada ya kila ngazi kuzingatiwa kikamilifu.4. Ikiwa kitanzi kinaisha na jeni la mwisho halijapatikana, kurudi -1, vinginevyo kurudi kina. 