题目:

某种外星语也使用英文小写字母,但可能顺序 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’ > ‘∅’,其中 ‘∅’ 是空白字符,定义为比任何其他字符都小(更多信息)。

提示:

1 <= words.length <= 100
1 <= words[i].length <= 20
order.length == 26
在 words[i] 和 order 中的所有字符都是英文小写字母。

思路与算法:

根据 order 构建字典,方便检查字典序
逐个比较 words 中,当前单词和上一个单词的字典序

代码:

class Solution {public boolean isAlienSorted(String[] words, String order) {int[] dict = new int[26];for (int i = 0; i < order.length(); i++) {dict[order.charAt(i) - 'a'] = i;}for (int i = 1; i < words.length; i++) {int cur = 0;int len = Math.min(words[i].length(), words[i - 1].length());while (cur < len) {if (dict[words[i - 1].charAt(cur) - 'a'] > dict[words[i].charAt(cur) - 'a']) return false;if (dict[words[i - 1].charAt(cur) - 'a'] < dict[words[i].charAt(cur) - 'a']) break;cur++;}if (cur == words[i].length() && cur < words[i - 1].length()) return false;}return true;}
}

leetcode 953. 验证外星语词典 做题笔记相关推荐

  1. LeetCode 953. 验证外星语词典

    验证外星语词典 某种外星语也使用英文小写字母,但可能顺序 order (order.length==26)(order.length == 26)(order.length==26)不同.字母表的顺序 ...

  2. leetcode 953.验证外星语词典(js)

    题目 某种外星语也使用英文小写字母,但可能顺序 order 不同.字母表的顺序(order)是一些小写字母的排列. 给定一组用外星语书写的单词 words,以及其字母表的顺序 order,只有当给定的 ...

  3. Leetcode——953.验证外星语词典——题解+代码实现

    一.题目 某种外星语也使用英文小写字母,但可能顺序 order 不同.字母表的顺序(order)是一些小写字母的排列. 给定一组用外星语书写的单词 words,以及其字母表的顺序 order,只有当给 ...

  4. LeetCode: 953. 验证外星语词典

    题目 某种外星语也使用英文小写字母,但可能顺序 order 不同.字母表的顺序(order)是一些小写字母的排列. 给定一组用外星语书写的单词 words,以及其字母表的顺序 order,只有当给定的 ...

  5. leetcode -- 953验证外星语词典

    这个题目很有趣.一开始读题目感觉跟读外国语一样,等到后来,突然想明白,这跟小学的时候学习使用字典是一样的过程,就忽然明白了,同时获得了和小时候忽然明白查字典一样的快乐了 public boolean ...

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

    812. 最大三角形面积 2022.5.15 每日一题 题目描述 给定包含多个点的集合,从其中取三个点组成三角形,返回能组成的最大三角形的面积. 示例: 输入: points = [[0,0],[0, ...

  7. 953. 验证外星语词典( 简单模拟 + 自定义定制排序 )

    文章目录 Question Ideas 1.Answer( Java ) - 自定义定制排序 Code 2.Answer( Java ) - 简单模拟 Code Question 953. 验证外星语 ...

  8. 题目:953.验证外星语词典

    ​ ​题目来源: leetcode题目,网址:953. 验证外星语词典 - 力扣(LeetCode) 解题思路: 遍历字符串,以连续两个为一组判断其是否符合外星语词典的字典序. 可以使用 int 数组 ...

  9. 力扣953. 验证外星语词典

    力扣953. 验证外星语词典 某种外星语也使用英文小写字母,但可能顺序 order 不同.字母表的顺序(order)是一些小写字母的排列. 给定一组用外星语书写的单词 words,以及其字母表的顺序 ...

最新文章

  1. 厚积薄发!他读博前三年零文章,后期发力产出11篇一作,现任985高校博导
  2. 链表问题15——将搜索二叉树转换成双向链表
  3. 《Swift编程入门经典》
  4. C#中RichTextBox文本居中显示
  5. 分类型变量预测连续型变量_终于弄清楚java的变量与类型了!
  6. DHCP服务器异常,上不了网解决办法
  7. 【转载】法线贴图Nomal mapping 原理
  8. 基于嵌入式linux路由转发功能的实现
  9. 凡事易学难精,要精通都要天赋
  10. 阿里云、腾讯云服务器对比,那个更好?
  11. react项目里添加支持less(无webpack.config.js如何设置
  12. 关于右键无法选择codeblocks打开cpp或c文件
  13. android 聊天气泡背景图片,聊天气泡背景图片拉伸设置
  14. 计算机按键不灵怎么回事,电脑键盘失灵,教您电脑键盘失灵怎么办
  15. 我用飞桨Parakeet合成小姐姐声音帮我“读”论文
  16. 华为云Linux部署深度学习项目
  17. 基于深度学习对皮肤病进行识别设计与实现
  18. python 异常处理 库_python捕获数据库异常处理
  19. 进销存系统--ERP软件常用货物计量单位汇总
  20. 跨越原理优缺点_jsonp的原理,应用场景,优缺点

热门文章

  1. 涉密计算机系统分级保护,计算机信息系统分级保护方案.pdf
  2. 塞尔达 amiibo_极客历史的本周:塞尔达(Zelda)25岁,印刷机的诞生,以及ENIAC的揭幕...
  3. 【解决】ubuntu用vim编辑时退格键和上下左右键失灵的问题
  4. 现实迷途 第十七章 柳暗花明
  5. html5地图编辑器,XTranslator Map Editor(地图编辑器)
  6. Three.js漫游相机控制器/three.js第三人称视角漫游/three.js第一人称视角漫游
  7. 再读萧大《编程入门指南》有感
  8. FaceBook_android配置openssl签名
  9. 测评5款电脑上可以用的epub阅读器
  10. CA6140机床法兰盘(代号831004)课程设计——说明书 CAD图纸 工艺卡 过程卡……