<prompt> Kwa kuzingatia safu kamili nums iliyopangwa kwa mpangilio usiopungua, ondoa nakala zingine in-place ili kila moja kipengele cha kipekee kinaonekana angalau mara mbili. Mpangilio wa jamaa wa vipengele unapaswa kuwekwa sawa.Kwa kuwa haiwezekani kubadilisha urefu wa safu katika baadhi ya lugha, lazima badala yake matokeo yawekwe katika sehemu ya kwanza ya safu nums. Rasmi zaidi, ikiwa kuna vipengele k baada ya kuondoa nakala, basi vipengele vya k vya nums vya kwanza vinapaswa kushikilia matokeo ya mwisho. Haijalishi unaacha nini zaidi ya vipengele vya k vya kwanza.Rejesha k _baada ya kuweka tokeo la mwisho katika nafasi ya kwanza_ k _nafasi za_ nambari.Usitenge nafasi ya ziada kwa safu nyingine. Ni lazima ufanye hivi kwa kurekebisha safu ya ingizo in-place kwa O1 kumbukumbu ya ziada.Jaji Maalum:Jaji atajaribu suluhisho lako na nambari ifuatayo:int nums ...; Safu ya uingizajiint inatarajiwaNums ...; Jibu linalotarajiwa na urefu sahihiint k removeDuplicatesnambari; Inaita utekelezaji wakokudai k inatarajiwaNums.length;kwa int i 0; i  <response>: chatudef remove_duplicatesnambari: mimi 0 kwa nambari kwa nambari: ikiwa i 2 au num numsi - 2: nambari i nambari mimi 1 kurudi imaelezoAlgorithm hutumia mbinu ya viashiria viwili. Tofauti i inawakilisha kielekezi cha nafasi katika mkusanyiko ambapo kipengele kinachofuata cha kipekee kitawekwa. Kwa kila kipengele katika safu ya ingizo, tunaangalia ikiwa i 2 ikimaanisha kuwa bado hatujakumbana na vipengele 2 vya kipekee au kipengele cha sasa num ni kikubwa kuliko kipengee katika safu katika faharasa i. - 2 hali hii inahakikisha kwamba kipengele cha sasa kinaonekana mara mbili zaidi katika safu. Ikiwa mojawapo ya masharti haya ni kweli, tunaweka kipengele cha sasa katika faharasa i na increment i. Chaguo za kukokotoa hurejesha thamani ya i mwishoni, ambayo inawakilisha urefu wa safu iliyobadilishwa baada ya kuondoa nakala. 