leetcode 953. 验证外星语词典 做题笔记
题目:
某种外星语也使用英文小写字母,但可能顺序 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. 验证外星语词典 做题笔记相关推荐
- LeetCode 953. 验证外星语词典
验证外星语词典 某种外星语也使用英文小写字母,但可能顺序 order (order.length==26)(order.length == 26)(order.length==26)不同.字母表的顺序 ...
- leetcode 953.验证外星语词典(js)
题目 某种外星语也使用英文小写字母,但可能顺序 order 不同.字母表的顺序(order)是一些小写字母的排列. 给定一组用外星语书写的单词 words,以及其字母表的顺序 order,只有当给定的 ...
- Leetcode——953.验证外星语词典——题解+代码实现
一.题目 某种外星语也使用英文小写字母,但可能顺序 order 不同.字母表的顺序(order)是一些小写字母的排列. 给定一组用外星语书写的单词 words,以及其字母表的顺序 order,只有当给 ...
- LeetCode: 953. 验证外星语词典
题目 某种外星语也使用英文小写字母,但可能顺序 order 不同.字母表的顺序(order)是一些小写字母的排列. 给定一组用外星语书写的单词 words,以及其字母表的顺序 order,只有当给定的 ...
- leetcode -- 953验证外星语词典
这个题目很有趣.一开始读题目感觉跟读外国语一样,等到后来,突然想明白,这跟小学的时候学习使用字典是一样的过程,就忽然明白了,同时获得了和小时候忽然明白查字典一样的快乐了 public boolean ...
- LeetCode 812. 最大三角形面积(再次用到凸包的Andrew算法) / 面试题 04.06. 后继者 / 953. 验证外星语词典
812. 最大三角形面积 2022.5.15 每日一题 题目描述 给定包含多个点的集合,从其中取三个点组成三角形,返回能组成的最大三角形的面积. 示例: 输入: points = [[0,0],[0, ...
- 953. 验证外星语词典( 简单模拟 + 自定义定制排序 )
文章目录 Question Ideas 1.Answer( Java ) - 自定义定制排序 Code 2.Answer( Java ) - 简单模拟 Code Question 953. 验证外星语 ...
- 题目:953.验证外星语词典
题目来源: leetcode题目,网址:953. 验证外星语词典 - 力扣(LeetCode) 解题思路: 遍历字符串,以连续两个为一组判断其是否符合外星语词典的字典序. 可以使用 int 数组 ...
- 力扣953. 验证外星语词典
力扣953. 验证外星语词典 某种外星语也使用英文小写字母,但可能顺序 order 不同.字母表的顺序(order)是一些小写字母的排列. 给定一组用外星语书写的单词 words,以及其字母表的顺序 ...
最新文章
- 厚积薄发!他读博前三年零文章,后期发力产出11篇一作,现任985高校博导
- 链表问题15——将搜索二叉树转换成双向链表
- 《Swift编程入门经典》
- C#中RichTextBox文本居中显示
- 分类型变量预测连续型变量_终于弄清楚java的变量与类型了!
- DHCP服务器异常,上不了网解决办法
- 【转载】法线贴图Nomal mapping 原理
- 基于嵌入式linux路由转发功能的实现
- 凡事易学难精,要精通都要天赋
- 阿里云、腾讯云服务器对比,那个更好?
- react项目里添加支持less(无webpack.config.js如何设置
- 关于右键无法选择codeblocks打开cpp或c文件
- android 聊天气泡背景图片,聊天气泡背景图片拉伸设置
- 计算机按键不灵怎么回事,电脑键盘失灵,教您电脑键盘失灵怎么办
- 我用飞桨Parakeet合成小姐姐声音帮我“读”论文
- 华为云Linux部署深度学习项目
- 基于深度学习对皮肤病进行识别设计与实现
- python 异常处理 库_python捕获数据库异常处理
- 进销存系统--ERP软件常用货物计量单位汇总
- 跨越原理优缺点_jsonp的原理,应用场景,优缺点
热门文章
- 涉密计算机系统分级保护,计算机信息系统分级保护方案.pdf
- 塞尔达 amiibo_极客历史的本周:塞尔达(Zelda)25岁,印刷机的诞生,以及ENIAC的揭幕...
- 【解决】ubuntu用vim编辑时退格键和上下左右键失灵的问题
- 现实迷途 第十七章 柳暗花明
- html5地图编辑器,XTranslator Map Editor(地图编辑器)
- Three.js漫游相机控制器/three.js第三人称视角漫游/three.js第一人称视角漫游
- 再读萧大《编程入门指南》有感
- FaceBook_android配置openssl签名
- 测评5款电脑上可以用的epub阅读器
- CA6140机床法兰盘(代号831004)课程设计——说明书 CAD图纸 工艺卡 过程卡……