资讯专栏INFORMATION COLUMN

953-验证外星语词典

SnaiLiu / 2194人阅读

摘要:前言的第一题验证外星语词典某种外星语也使用英文小写字母,但可能顺序不同。给定一组用外星语书写的单词,以及其字母表的顺序,只有当给定的单词在这种外星语中按字典序排列时,返回否则,返回。

前言

Weekly Contest 114的第一题 验证外星语词典:

某种外星语也使用英文小写字母,但可能顺序 order 不同。字母表的顺序(order)是一些小写字母的排列。

给定一组用外星语书写的单词 words,以及其字母表的顺序 order,只有当给定的单词在这种外星语中按字典序排列时,返回 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
解释:当前三个字符 "app" 匹配时,第二个字符串相对短一些,然后根据词典编纂规则 "apple" > "app",因为 "l" > "∅",其中 "∅" 是空白字符,定义为比任何其他字符都小([更多信息][3])。

提示:

1 <= words.length <= 100

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

order.length == 26

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

解题思路

本题的重点是搞清楚字典序这个概念,以及要知道字典序的排序规则。而我的实现思路则是:

先用一个Map构建好新的字典序

每次按照新的字典序比较相邻的两个单词的每个字符

实现代码
    /**
     * 953. 验证外星语词典
     * @param words
     * @param order
     * @return
     */
    public boolean isAlienSorted(String[] words, String order) {
        //构建新的字典序
        char[] dictionary=order.toCharArray();
        Map dictionaryOrder=new HashMap<>();
        for(int i=0;iword2.length?word1.length:word2.length;
            for(int k=0;k           
               
                                           
                       
                 

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/72635.html

相关文章

  • WebAssembly 系列(三)编译器如何生成汇编

    摘要:如果对没概念,建议先读这里中文文章。理解什么是汇编,以及编译器如何生成它,对于理解是很有帮助的。举个例子,大脑会将指令最开始的比特通过管道送到中。 作者:Lin Clark 编译:胡子大哈 翻译原文:http://huziketang.com/blog/posts/detail?postId=58c55a3ba6d8a07e449fdd23 英文原文:A crash course i...

    cc17 评论0 收藏0
  • 图说 WebAssembly(三):什么是汇编

    摘要:为了更好的理解,我们有必要去先理解什么是汇编,以及编译器是如何产生汇编的。什么是汇编现在,我们来看看外星人的大脑是如何工作的。这些注释就是汇编,也称为符号机器码。结束以上的内容就是什么是汇编以及它是如何从高级编程语言翻译过来的。 本文是图说 WebAssembly 系列文章的第三篇。如果您还未阅读之前的文章,建议您从第一篇入手。 为了更好的理解 WebAssembly ,我们有必要去先...

    刘福 评论0 收藏0
  • LSTM分类相关

    摘要:而检验模型用到的原材料,包括薛云老师提供的蒙牛牛奶的评论,以及从网络购买的某款手机的评论数据见附件。不同行业某些词语的词频会有比较大的差别,而这些词有可能是情感分类的关键词之一。这是由于文本情感分类的本质复杂性所致的。 文本情感分类--传统模型(转) showImg(https://segmentfault.com/img/bVKjWF?w=2192&h=534); 传统的基于情感词典...

    MartinHan 评论0 收藏0
  • 新书《JavaScript面向对象编程指南(第2版)》

    摘要:前段时间在网络上看了车洪才老先生编写阿富汗语词典的故事。年,万字,完稿时已斗转星移。然而书的修成不都如此吗前有明朝的永乐大典,近有车洪才老先生的阿富汗语词典我还看过一部电影编舟记,讲述的便是一部字典历经十余年的修成。然而我们对此坦然以待。 我记得去年的这个时候我丢了工作,然后每天就是跑步、译书、跑步、译书。非常单调的日子过了两个多月。这种日子过的时候并没有过多地觉得什么,但是译完交稿的...

    silencezwm 评论0 收藏0
  • Python学习之路12-外星

    摘要:现在开始创建多行外星人。小结本篇讲述了如何在游戏中添加大量相同的元素如何用嵌套循环来创建元素网格如何控制对象在屏幕上移动的方向以及响应事件如何检测和响应元素碰撞如何在游戏中跟踪统计信息如何使用标志来判断游戏是否结束。 《Python编程:从入门到实践》笔记。本章主要是对上一篇的继续,添加外星人,外星人与飞船的交互。 1. 回顾项目 开发较大的项目时,进入每个开发阶段前回顾一下开发计划,...

    chemzqm 评论0 收藏0

发表评论

0条评论

SnaiLiu

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<