LeetCode 953 验证外星词语典[Map] HERODING的LeetCode之路

Posted HERODING23

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 953 验证外星词语典[Map] HERODING的LeetCode之路相关的知识,希望对你有一定的参考价值。

解题思路:
用map记录字典序,然后暴力遍历每个连续的两个词语,对应位数比较,在判断的时候注意特殊情况,即后一个单词是前一个单词的子集,这个时候要返回false,代码如下:

class Solution 
public:
    bool isAlienSorted(vector<string>& words, string order) 
        unordered_map<char, int> mp;
        for(int i = 0; i < order.size(); i ++) 
            mp[order[i]] = i;
        
        for(int i = 0; i < words.size() - 1; i ++) 
            string word1 = words[i], word2 = words[i + 1];
            int len1 = word1.size(), len2 = word2.size();
            int index1 = 0, index2 = 0;
            while(index1 < len1 && index2 < len2) 
                if(mp[word1[index1]] < mp[word2[index2]]) 
                    break;
                 else if(mp[word1[index1]] > mp[word2[index2]]) 
                    return false;
                
                index1 ++;
                index2 ++;
                if(index2 == len2 && len1 > len2) 
                    return false;
                
            
        
        return true;
    
;

以上是关于LeetCode 953 验证外星词语典[Map] HERODING的LeetCode之路的主要内容,如果未能解决你的问题,请参考以下文章

Leetcode-953 Verifying an Alien Dictionary(验证外星语词典)

LeetCode953

LeetCode 812. 最大三角形面积(再次用到凸包的Andrew算法) / 面试题 04.06. 后继者 / 953. 验证外星语词典

「 每日一练,快乐水题 」953. 验证外星语词典

「 每日一练,快乐水题 」953. 验证外星语词典

LeetCode 五月打卡-day17