<prompt> Kwa kuzingatia safu ya jozi nums, rudisha _urefu wa juu zaidi wa safu ndogo iliyo na idadi sawa ya_ 0 _na_ 1.Mfano wa 1:Ingizo: nambari 0,1Pato: 2Maelezo: 0, 1 ndiyo safu ndogo ndefu zaidi iliyo na idadi sawa ya 0 na 1.Mfano wa 2:Ingizo: nambari 0,1,0Pato: 2Maelezo: 0, 1 au 1, 0 ni safu ndogo ndefu zaidi iliyo na idadi sawa ya 0 na 1.Vikwazo: 1 nums.length 105 Numsi ni ama 0 au 1.  <response>: chatudef findMaxLengthnambari: hesabu 0: -1 max_len hesabu 0 kwa i, nambari katika enumeratenambari: hesabu 1 ikiwa nambari 1 mwingine -1 ikiwa hesabu katika hesabu: max_len maxmax_len, i - countscount kwingine: hesabu hesabu i rudisha max_lenmaelezoKanuni hii inarudia kupitia safu ya binary iliyotolewa na kudumisha hesabu inayoendelea. Inatumia jedwali la hashi linaloitwa hesabu kuhifadhi jozi za thamani ya hesabu ambamo hesabu ndio ufunguo na faharasa yake ni thamani. Tunaanzisha jedwali la heshi kwa jozi 0: -1 ili kushughulikia kipochi wakati vipengele vichache vya kwanza vinapounda safu ndogo halali.Kwa kila kipengele katika safu, tunaongeza hesabu kwa 1 ikiwa kipengele ni 1 au punguzo kwa 1 ikiwa ni 0. Hesabu basi inawakilisha tofauti kati ya 1 na 0 katika safu hadi faharasa ya sasa.Kisha, tunaangalia ikiwa hesabu ya sasa iko kwenye jedwali la hashi. Ikiwa ndivyo, hiyo inamaanisha kuwa tumekumbana na idadi sawa ya 1 na 0 kati ya faharasa ya sasa na faharasa iliyohifadhiwa chini ya hesabu ya sasa katika jedwali la heshi, kwa hivyo tunalinganisha urefu wa safu hii ndogo na urefu wa juu uliohifadhiwa hapo awali wa safu ndogo halali. Hatimaye, tunahifadhi hesabu ya sasa na faharasa katika jedwali la heshi ikiwa haipo tayari. 