<prompt> Kwa kuzingatia safu nums zilizo na n vitu vyenye rangi nyekundu, nyeupe, au bluu, zipange mahali ili vitu za rangi sawa ziko karibu, na rangi katika mpangilio nyekundu, nyeupe, na bluu.Tutatumia nambari kamili 0, 1, na 2 kuwakilisha rangi nyekundu, nyeupe na bluu, mtawalia.Lazima utatue tatizo hili bila kutumia kitendakazi cha kupanga cha maktaba.Mfano wa 1:Ingizo: nambari 2,0,2,1,1,0Pato: 0,0,1,1,2,2Mfano wa 2:Ingizo: nambari 2,0,1Pato: 0,1,2Vikwazo: n nums.length 1 n 300 Numsi ni ama 0, 1, au 2.Fuata: Je, unaweza kupata algoriti ya pasi moja kwa kutumia nafasi ya ziada isiyobadilika?  <response>: chatudef sortColorsnambari: Listint - Hakuna: nyekundu, nyeupe, bluu 0, 0, leninambari - 1 wakati nyeupe bluu: ikiwa nambarinyeupe 0: nambarinyekundu, nambarinyeupe nambarinyeupe, nambarinyekundu nyekundu 1 nyeupe 1 elif numsnyeupe 1: nyeupe 1 kwingine: nambarinyeupe, nambaribluu nambaribluu, nambarinyeupe bluu - 1maelezoAlgorithm inaweza kuelezewa kwa kutumia viashiria vitatu: nyekundu, nyeupe, na bluu. nyekundu ina jukumu la kufuatilia nafasi ambapo 0 inayofuata inapaswa kuhamishiwa, kuanzia mwanzo wa safu. Vile vile, bluu ina jukumu la kufuatilia nafasi ambapo 2 zinazofuata zinapaswa kubadilishwa, kuanzia mwisho wa safu. white inawajibika kwa kurudia kupitia safu.Ingawa nyeupe ni ndogo kuliko au sawa na bluu, angalia thamani ya nambarinyeupe ya sasa. Ikiwa ni 0, ibadilishe na thamani katika faharasa nyekundu, na uongeze nyekundu na nyeupe. Ikiwa ni 1, ongeza nyeupe kwa urahisi. Ikiwa ni 2, badilisha thamani katika faharasa nyeupe na thamani katika faharasa bluu, na kupunguza bluu bila kuongeza nyeupe kwani thamani mpya iliyobadilishwa katika faharasa nyeupe inaweza kuwa 0 au 2.Hii itapanga rangi katika mpangilio unaohitajika kwa uchangamano wa wakati wa mstari, tunapopitia safu mara moja tu kwa kielekezi kizungu. Pia, hupanga rangi mahali bila hitaji la hifadhi ya ziada. 