2022-5-17-验证外星语词典

news/2024/7/4 9:27:30

953. 验证外星语词典

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/verifying-an-alien-dictionary
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

完全看完示例后得知,按照题目所给字母表来判断单词的顺序是否合理,首先比较两个单词的首字符,如果字符不相同且符合顺序则直接跳出循环,视为合理。如果首字符相同则继续进行比较,如出现不符合字母表的排列则返回false,如果两个字符串长度不相同,并且短的字符串是长字符串的前缀,则比较它们的长度,长度大的应该排在后面。

class Solution {
public:
    bool isAlienSorted(vector<string>& words, string order) {
        //记录字母表
        vector<int> rec(26, 0);
        for(int i = 0; i < order.size(); i ++) rec[order[i] - 'a'] = i;
        //遍历words
        for(int i = 1; i < words.size(); i ++) 
            for(int j = 0; j < min(words[i - 1].size(), words[i].size()); j ++)
                if(rec[words[i - 1][j] - 'a'] < rec[words[i][j] - 'a']) break; //单词符合字母表内顺序,跳出循环
                else if(rec[words[i - 1][j] - 'a'] == rec[words[i][j] - 'a']){ //当前位置字符相同
                    if(j < min(words[i - 1].size(), words[i].size()) - 1) continue; //连续得字符相同
                    else { //比较前缀相同但是长度不同的情况
                        if(words[i - 1].size() > words[i].size()) return false; //apple > app,返回false
                        else break;
                    }
                }
                else return false; //单词不符合字母表内顺序,返回false
        return true; //符合要求
    }
};


http://www.niftyadmin.cn/n/4411458.html

相关文章

基于Prompt-tuning实现情感分类

自去年来&#xff0c;prompt-tuning在NLP领域开始大放异彩&#xff0c;并随着刘鹏飞老师关于prompt的综述而广为人知。 Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in Natural Language Processing 最近笔者也是刚刚开始了解到prompt&#xf…

论文阅读《Do Pre-trained Models Benefit Knowledge Graph Completion?A Reliable Evaluation and a Reasonab》

Do Pre-trained Models Benefit Knowledge Graph Completion? A Reliable Evaluation and a Reasonable Approach.(Finding of ACL 2022) 论文开源代码-github 提出背景 预训练模型被证明可以从文本中获得真实的知识&#xff0c;这促使着基于PLM的知识图谱补全&#xff08;…

Java的XML API

转载自&#xff1a;www.javaeye.com 在IBM的developerWorks上有几篇非常优秀的关于Java XML API的评测文章&#xff0c;它们是&#xff1a; http://www-900.ibm.com/developerWorks/cn/xml/x-injava/index.shtml http://www-900.ibm.com/developerWorks/cn/xml/x-injava2/in…

使用deepke时,遇到ModuleNotFoundError: No module named ‘google.protobuf‘解决方案

第一次使用deepke&#xff0c;运行示例的run.py时出现这样的错误&#xff1a; ModuleNotFoundError: No module named google.protobuf 网络上给出的答案是&#xff1a; pip uninstall protobuf pip uninstall google pip install google pip install protobuf 我运行之后都没…

java 高级特性

1&#xff0c;关于jdk内存泄漏的问题http://blogs.sun.com/fkieviet/entry/classloader_leaks_the_dreaded_java2.关于classloader的加载http://www.theserverside.com/tt/articles/article.tss?lClassLoading

论文阅读《Cross-Lingual Contrastive Learning for Fine-Grained Entity Typing for Low-Resource Languages》

Cross-Lingual Contrastive Learning for Fine-Grained Entity Typing for Low-Resource Languages 论文内容简介&#xff1a; 细粒度实体类型分析(Fine-grained entity typing&#xff0c;简称FGET)旨在将实体命名事件划分为细粒度的实体类型&#xff0c;这对于实体相关的NL…

简单的neo4j三元组增量插入-通过py2neo实现

今天写了一个简单增量插入三元组的程序 1、查找实体类型对应的实例&#xff0c;放入list中&#xff0c;用于实例查重&#xff1a; # 查找实体类型对应实例&#xff0c;返回list def get_all_entities_of_ent_typ(graph, ent_typ):matcher NodeMatcher(graph)ent_list list(…

Steve Jobs的十句金玉良言

http://blog.csdn.net/zero8500/archive/2008/09/27/2987613.aspx