<prompt> Kwa kuzingatia mfuatano s, _tafuta herufi ya kwanza isiyojirudia na urudishe faharasa yake_. Ikiwa haipo, rudisha -1.Mfano wa 1:Ingizo: s leetcodePato: 0Mfano wa 2:Ingizo: s loveleetcodePato: 2Mfano wa 3:Ingizo: s aabbPato: -1Vikwazo: 1 s.urefu 105 s ina herufi ndogo za Kiingereza pekee.  <response>: chatudef firstUniqChars: char_count kwa c katika s: char_countc char_count.getc, 0 1 kwa mimi katika anuwai lens: ikiwa char_counti 1: kurudi i kurudi -1maelezoAlgorithm kwanza huunda kamusi ili kuhifadhi hesabu ya kila herufi katika mfuatano wa ingizo s. Kisha, hurudia kupitia mfuatano, ikihesabu matukio ya kila herufi na kusasisha kamusi ipasavyo.Baada ya hapo, algoriti hujirudia kupitia mfuatano wa ingizo s tena, na hukagua kama hesabu ya herufi ya sasa katika kamusi ni 1. Ikiwa ndivyo, kanuni hurejesha faharasa ya herufi ya sasa kama jibu. Ikiwa hakuna tabia kama hiyo inayopatikana, algorithm inarudi -1 kama jibu.Utata wa saa wa kanuni hii ni On, ambapo n ni urefu wa mfuatano wa ingizo s. 