<prompt> ufupisho wa neno ni muunganisho wa herufi yake ya kwanza, idadi ya herufi kati ya herufi ya kwanza na ya mwisho, na herufi yake ya mwisho. Ikiwa neno lina herufi mbili tu, basi ni ufupisho wa yenyewe.Kwa mfano: mbwa -- d1g kwa sababu kuna herufi moja kati ya herufi ya kwanza d na ya mwisho g. Utaifa wa kimataifa -- i18n kwa sababu kuna herufi 18 kati ya herufi ya kwanza i na herufi ya mwisho n. it -- it kwa sababu neno lolote lenye herufi mbili tu ni ufupisho wake wenyewe.Tekeleza darasa la ValidWordAbbr: ValidWordAbbrString kamusi Huanzisha kitu kwa kamusi ya maneno. boolean isUniquestring neno Hurejesha true ikiwa ama kati ya masharti yafuatayo yametimizwa vinginevyo hurejesha false: Hakuna neno katika kamusi ambalo ufupisho wake ni sawa na ufupisho wa neno. Kwa neno lolote katika kamusi ambalo ufupisho wake ni sawa na neno ufupisho, neno hilo na neno ni sawa.Mfano wa 1:Ingizo ValidWordAbbr , isUnique , isUnique , isUnique , isUnique , isUnique kulungu , mlango , keki , kadi , mpendwa , gari , miwa, tengeneza , kekiPatonull, uongo, kweli, uongo, kweli, kweliUfafanuziValidWordAbbr validWordAbbr new ValidWordAbbr kulungu , mlango , keki , kadi ;validWordAbbr.isUnique mpendwa; return false, kamusi neno deer na neno dear zina ufupisho sawa d2r lakini hazifanani.validWordAbbr.isUnique gari; kurudi kweli, hakuna maneno katika kamusi yenye ufupisho c2t.validWordAbbr.isUnique miwa; return false, kamusi neno cake na neno cane zina ufupisho sawa c2e lakini hazifanani.validWordAbbr.isUnique tengeneza; kurudi kweli, hakuna maneno katika kamusi yenye ufupisho m2e.validWordAbbr.isUnique keki; rudisha kweli, kwa sababu keki tayari iko kwenye kamusi na hakuna neno lingine katika kamusi lenye ufupisho wa c2e.Vikwazo: 1 kamusi.urefu 3 104 1 kamusii.urefu 20 kamusii ina herufi ndogo za Kiingereza. 1 neno.urefu 20 Neno lina herufi ndogo za Kiingereza. Simu zisizozidi 5000 zitapigwa kwa isUnique.  <response>: chatudarasa ValidWordAbbr: def __init__binafsi, kamusi: self.word_map kwa neno katika kamusi: abbr self.get_fupishoneno kama abbr haiko kwenye self.word_map: self.word_mapabbr word kwingine: ramani_ya_maneno binafsiabbr.ongezaneno def isUniquebinafsi, neno: abbr self.get_fupishoneno abbr_group self.word_map.getabbr, set rudisha lenabbr_group 0 au lenabbr_group 1 na neno katika abbr_group def get_abbreviationbinafsi, neno: n neno neno rudisha neno ikiwa n neno lingine 20 strn - 2 neno-1maelezoAlgorithm kwanza huanzisha darasa kwa kuhifadhi maneno katika ramani ya heshi na vifupisho vyake kama vitufe na seti iliyo na maneno yenye ufupisho huu kama thamani. Hii inaruhusu utafutaji bora na kuondoa nakala katika kamusi.Kwa chaguo za kukokotoa isUnique, algorithm kwanza hupata ufupisho wa neno. Kisha, hukagua ikiwa kifupisho hakipo katika ramani ya heshi au ikiwa kifupi kinapatikana kwa neno moja pekee sawa na neno la kuingiza katika seti. Ikiwa mojawapo ya masharti haya yatatimizwa, chaguo la kukokotoa litarejesha kweli. Vinginevyo, inarudisha false.Chaguo za kukokotoa za pata_ufupisho hurejesha toleo la kifupi la neno fulani. Ikiwa urefu wa neno ni chini ya au sawa na 2, chaguo za kukokotoa hurejesha neno lenyewe; vinginevyo, inarejesha herufi ya kwanza, idadi ya herufi kati ya herufi ya kwanza na ya mwisho, na herufi ya mwisho ya neno kama mfuatano. 