题目描述:
某种外星语也使用英文小写字母,但可能顺序 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 中的所有字符都是英文小写字母。

方法1:
主要思路:
(1)重新定义一下字符的大小即可;
(2)根据重新定义的字符的大小,比较字符串;

class Solution {public:bool cmp(string& str1,string& str2,char* mp){int pos=0;if(str1==str2){return true;}while(pos<str1.size()&&pos<str2.size()){if(mp[str1[pos]]<mp[str2[pos]]){return true;}else if(mp[str1[pos]]>mp[str2[pos]]){return false;}++pos;}if(pos==str1.size()){return true;}return false;}bool isAlienSorted(vector<string>& words, string order) {if(words.size()<2){return true;}char mp[256]={-1};//重新定义字符的大小for(int i=0;i<order.size();++i){mp[order[i]]=i;}for(int i=1;i<words.size();++i){//根据定义的大小,比较字符串if(!cmp(words[i-1],words[i],mp)){return false;}}return true;}
};

953 验证外星语词典相关推荐

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

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

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

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

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

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

  4. 953. 验证外星语词典

    力扣打卡:953. 验证外星语词典 解题思路 思路 使用HashMap统计字典的顺序 从头开始,每次只比较两个字符串 循环比较,最后得到结果 解释 每次比较两个字符串,只有两种情况 从头开始比较字符 ...

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

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

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

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

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

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

  8. leetcode 953. 验证外星语词典 做题笔记

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

  9. 953.验证外星语词典

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

  10. LeetCode每日一题——953. 验证外星语词典

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

最新文章

  1. (多图) 基于并行流水线结构的可重配FIR滤波器的FPGA实现
  2. remo video repair中文版
  3. aix 查看目前java进程_问一个 AIX 的命令 ps -ef|grep java
  4. Android Gesture 手势识别使用实例 - Android - mobile - ITeye论坛
  5. CRSLab:可能是最适合你的对话推荐系统开源库
  6. 用Fedora发行版本打包RPM,似乎无法对打好的RPM包进行签名?
  7. 随机变量的分布函数-定义域问题
  8. P6672-[清华集训2016]你的生命已如风中残烛【结论】
  9. 小程序下一破局点?钉钉小程序卡片,应用与平台的深度集成
  10. 列车运行图的编制原则是什么_我国农村将有序推进村庄规划编制
  11. for myself
  12. NUC1014 排版题.输出排列成菱形的字母【打印图案】
  13. sql别名无效_SQL别名
  14. mongodb php存储日志,laravel 框架使用mongodb 保存日志
  15. jQuery Mobile 【弹窗】
  16. GooglePlay商店如何优化
  17. 高通量测序领域常用名词解释
  18. 解题:POI 2008 Plot purchase
  19. 没有项目管理经验,怎么报考PMP?
  20. 已经开源的阿里云播放器的播放内核

热门文章

  1. 阿里架构之dubbo
  2. java 日历计算农历和节假日的常用类
  3. 写java的时候怎么插入图片_java swing怎么插入图片
  4. python numpy 随机构建类无向图邻接矩阵
  5. 【安全】intel cpu 漏洞 个人用户检测 修复方案
  6. 20180821 hikvision笔试
  7. CocosCreator系列——接入原生微信登陆功能
  8. 云南计算机考研学校排名2015,云南省考研初试成绩出炉 几家欢喜几家愁
  9. 基于钛极OS的智能井盖解决方案
  10. pixel2style2pixe环境配置([‘ninja‘, ‘-v‘] + no module named ‘fused’)