日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

LeetCode 288. 单词的唯一缩写(哈希)

發布時間:2024/7/5 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LeetCode 288. 单词的唯一缩写(哈希) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 1. 題目
    • 2. 解題

1. 題目

一個單詞的縮寫需要遵循 <起始字母><中間字母數><結尾字母> 這樣的格式。

以下是一些單詞縮寫的范例:

a) it --> it (沒有縮寫)1↓ b) d|o|g --> d1g1 1 11---5----0----5--8↓ ↓ ↓ ↓ ↓ c) i|nternationalizatio|n --> i18n11---5----0↓ ↓ ↓ d) l|ocalizatio|n --> l10n

假設你有一個字典和一個單詞,請你判斷該單詞的縮寫在這本字典中是否唯一。
若單詞的縮寫在字典中沒有任何 其他 單詞與其縮寫相同,則被稱為單詞的唯一縮寫。

示例: 給定 dictionary = [ "deer", "door", "cake", "card" ] isUnique("dear") -> false isUnique("cart") -> true isUnique("cane") -> false isUnique("make") -> true

來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/unique-word-abbreviation
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。

2. 解題

容易錯的例子

[[["hello"]],["hello"]] [null,true] [[["a","a"]],["a"]] [null,true]
  • 長度小于等于2的直接true
  • 對轉換后的 key 計數
class ValidWordAbbr {unordered_map<string, int> m;unordered_set<string> dict;string key; public:ValidWordAbbr(vector<string>& dictionary) {for(auto& d : dictionary){if(d.size()<=2)continue;m[getkey(d)]++;dict.insert(d);}}bool isUnique(string word) {if(word.size() <= 2)return true;key = getkey(word);if((dict.count(word) && (m[key] == 1)) || m.find(key) == m.end())return true;elsereturn false;}string getkey(string& word){key = word[0]+to_string(word.size()-2)+word[word.size()-1];return key;} };

296 ms 48.2 MB


長按或掃碼關注我的公眾號,一起加油、一起學習進步!

總結

以上是生活随笔為你收集整理的LeetCode 288. 单词的唯一缩写(哈希)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。