最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Go語言leetcode題解953驗證外星語詞典示例詳解

 更新時間:2022年12月28日 11:27:22   作者:劉09k11  
這篇文章主要為大家介紹了Go語言leetcode題解953驗證外星語詞典示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

題目描述

953. 驗證外星語詞典

某種外星語也使用英文小寫字母,但可能順序 order 不同。字母表的順序(order)是一些小寫字母的排列。

給定一組用外星語書寫的單詞 words,以及其字母表的順序 order,只有當(dāng)給定的單詞在這種外星語中按字典序排列時,返回 true;否則,返回 false

示例 1:

輸入:words = ["hello","leetcode"], order = "hlabcdefgijkmnopqrstuvwxyz"
輸出:true
解釋:在該語言的字母表中,'h' 位于 'l' 之前,所以單詞序列是按字典序排列的。

示例 2:

輸入:words = ["word","world","row"], order = "worldabcefghijkmnpqstuvxyz"
輸出:false
解釋:在該語言的字母表中,'d' 位于 'l' 之后,那么 words[0] > words[1],因此單詞序列不是按字典序排列的。

示例 3:

輸入:words = ["apple","app"], order = "abcdefghijklmnopqrstuvwxyz"
輸出:false
解釋:當(dāng)前三個字符 "app" 匹配時,第二個字符串相對短一些,然后根據(jù)詞典編纂規(guī)則 "apple" > "app",因為 'l' > '?',其中 '?' 是空白字符,定義為比任何其他字符都?。ǜ嘈畔ⅲ?

提示:

1 <= words.length <= 100

1 <= words[i].length <= 20

order.length == 26

在 words[i] 和 order 中的所有字符都是英文小寫字母。

思路分析

  • 哈希表存儲字母和對應(yīng)的索引,判斷字符串先后關(guān)系的時候要用到
  • 然后比較兩個字符串,選較短的長度來比較
  • a[i]對應(yīng)的字典中的索引為indexA;
  • b[i]對應(yīng)的字典中的索引為indexB;
  • 如果indexA < indexB, 直接返回true;
  • 如果indexA > indexB, 直接返回false;
  • 如果前minLen個字符都相等的話,最后判斷下字符串的長度

AC 代碼

class Solution {
public:
    bool compare(string& a, string& b, unordered_map<char, int>& mp) {
        int sizeA = a.size();
        int sizeB = b.size();
        int minLen = sizeA > sizeB ? sizeB : sizeA;
        int same = 0;
        for (int i = 0; i < minLen; i++) {
            if (mp[a[i]] < mp[b[i]]) {
                return true;
            } else if(mp[a[i]] > mp[b[i]]) { 
                return false;
            }else if (mp[a[i]] == mp[b[i]]) {
                same++;
            }
        }
        if (same == minLen) {
            return a.size() < b.size();
        }
        return false;
    }
    bool isAlienSorted(vector<string>& words, string order) {
        unordered_map<char, int> mp;
        for (int i = 0; i < 26; i++) {
            mp[order[i]] = i;
        }
        int size = words.size();
        if (size == 1) {
            return true;
        }
        for (int i = 0; i < (size - 1); i++) {
            if (compare(words[i], words[i+1], mp) == false) {
                return false;
            }
        }
        return true;
    }
};

以上就是Go語言leetcode題解953驗證外星語詞典示例詳解的詳細(xì)內(nèi)容,更多關(guān)于Go 驗證外星語詞典的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Go中init()執(zhí)行順序詳解

    Go中init()執(zhí)行順序詳解

    go允許定義多個init(),多個init()會涉及到執(zhí)行先后的問題,本文將詳細(xì)講解Go中init()執(zhí)行順序,感興趣的朋友一起看看吧
    2022-09-09
  • Go語言基礎(chǔ)map用法及示例詳解

    Go語言基礎(chǔ)map用法及示例詳解

    這篇文章主要為大家介紹了Go語言基礎(chǔ)map的用法及示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2021-11-11
  • Golang中的select語句及其應(yīng)用實例

    Golang中的select語句及其應(yīng)用實例

    本文將介紹Golang中的select語句的使用方法和作用,并通過代碼示例展示其在并發(fā)編程中的實際應(yīng)用,此外,還提供了一些與select相關(guān)的面試題,幫助讀者更好地理解和應(yīng)用select語句
    2023-12-12
  • Linux系統(tǒng)下Go語言開發(fā)環(huán)境搭建

    Linux系統(tǒng)下Go語言開發(fā)環(huán)境搭建

    這篇文章主要介紹了Linux系統(tǒng)下Go開發(fā)環(huán)境搭建,需要的朋友可以參考下
    2022-04-04
  • Golang 獲取文件md5校驗的方法以及效率對比

    Golang 獲取文件md5校驗的方法以及效率對比

    這篇文章主要介紹了Golang 獲取文件md5校驗的方法以及效率對比,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-05-05
  • Go語言協(xié)程通道使用的問題小結(jié)

    Go語言協(xié)程通道使用的問題小結(jié)

    本文主要介紹了Go語言協(xié)程通道使用的問題小結(jié),詳細(xì)的介紹了使用的一些重要問題,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • 詳解Go語言中make和new的區(qū)別

    詳解Go語言中make和new的區(qū)別

    Go語言中,有兩個比較雷同的內(nèi)置函數(shù),分別是new和make方法,那他們有什么區(qū)別呢?本文將通過一些示例為大家詳細(xì)介紹一下,感興趣的可以了解一下
    2023-02-02
  • 深度解密 Go 語言中的 sync.map

    深度解密 Go 語言中的 sync.map

    這篇文章主要介紹了深度解密 Go 語言中的 sync.map,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • 在goland中讀取tpl文件的圖文操作

    在goland中讀取tpl文件的圖文操作

    這篇文章主要介紹了在goland中讀取tpl文件的圖文操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • 一文探索Go語言中的內(nèi)存對齊

    一文探索Go語言中的內(nèi)存對齊

    在 Go 語言中,內(nèi)存對齊是一個經(jīng)常被忽略但非常重要的概念,本文將通過一個簡單的例子來探討 Go 語言中的內(nèi)存對齊機(jī)制,感興趣的可以了解下
    2024-11-11

最新評論

东乌珠穆沁旗| 永年县| 丹东市| 犍为县| 乐都县| 团风县| 洛阳市| 清水河县| 鄢陵县| 马边| 桑植县| 德格县| 红河县| 普安县| 个旧市| 景泰县| 宿迁市| 额尔古纳市| 嘉禾县| 南漳县| 财经| 贡觉县| 江门市| 霞浦县| 普兰店市| 曲阳县| 黔西县| 高陵县| 清远市| 张家口市| 盐池县| 叶城县| 梁山县| 安乡县| 涞源县| 保靖县| 阿克| 嘉峪关市| 竹溪县| 吴忠市| 文昌市|