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
中的所有字符都是英文小写字母。
二、题解思路
- 题解思路:针对words数组,两两单词比较,如果单词一样,则sum++(sum两两相邻单词符合要求的次数,看最后是否等于words数组长度减一)如果单词不一样,进入循环,则进行进行以下三种情况判断:1、相邻两个单词相同位置上字母,前者比后者在order上排列靠前,则sum++,跳出循环;2、两个单词相同位置上字母相同,则位置索引++,进入下一个位置判断;3、否则,返回false(前者字母比后者字母在order上靠后)。
三、代码实现
- C++代码实现
class Solution {
public:bool isAlienSorted(vector<string>& words, string order) {int size_1 = words.size(); //words的单词个数int sum = 0;for(int i = 0;i<size_1-1;i++){if(words[i]==words[i+1]){sum++;}else{int counts = 0;int size_2 = min(words[i].size(),words[i+1].size());int j = 0;while(j<size_2){if(order.find(words[i][j])<order.find(words[i+1][j])){sum++;goto a;}else if(order.find(words[i][j])==order.find(words[i+1][j])){j++;counts++;}elsereturn false; }a:if(words[i+1].size()<words[i].size() && counts==words[i+1].size())return false;}}if(sum==size_1-1)return true;elsereturn false;}
};
Leetcode——953.验证外星语词典——题解+代码实现相关推荐
- LeetCode 953. 验证外星语词典
验证外星语词典 某种外星语也使用英文小写字母,但可能顺序 order (order.length==26)(order.length == 26)(order.length==26)不同.字母表的顺序 ...
- leetcode 953. 验证外星语词典 做题笔记
题目: 某种外星语也使用英文小写字母,但可能顺序 order 不同.字母表的顺序(order)是一些小写字母的排列. 给定一组用外星语书写的单词 words,以及其字母表的顺序 order,只有当给定 ...
- leetcode 953.验证外星语词典(js)
题目 某种外星语也使用英文小写字母,但可能顺序 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.验证外星语词典
题目来源: leetcode题目,网址:953. 验证外星语词典 - 力扣(LeetCode) 解题思路: 遍历字符串,以连续两个为一组判断其是否符合外星语词典的字典序. 可以使用 int 数组 ...
- 力扣953. 验证外星语词典
力扣953. 验证外星语词典 某种外星语也使用英文小写字母,但可能顺序 order 不同.字母表的顺序(order)是一些小写字母的排列. 给定一组用外星语书写的单词 words,以及其字母表的顺序 ...
- 953. 验证外星语词典( 简单模拟 + 自定义定制排序 )
文章目录 Question Ideas 1.Answer( Java ) - 自定义定制排序 Code 2.Answer( Java ) - 简单模拟 Code Question 953. 验证外星语 ...
最新文章
- 百度语音合成 js html,Node.js结合百度TTS接口实现文字转语音功能
- K - Candies POJ - 3159(利用了自定义比较操作符)
- 将excel中的数据写入xml
- Jenkins 部署
- Jobs(三) HTML的form表单提交中文后,后台取出乱码的问题
- 如何真正理解用户标签体系?
- IoT 云服务加速产业创新,推进规模商用
- 演练:创建和使用静态库 (C++)
- makefile / CMake
- flow使用_使用Microsoft Flow进行文本分析
- 【体系结构】shared pool的个人理解
- mysql服务器io等待高定位与分析
- ARCH与GARCH模型
- [汇编] 十进制与十六进制互转
- 安卓获取签名证书SHA1值
- stata 空间杜宾模型_利用STATA创建空间权重矩阵及空间杜宾模型计算----命令
- 怎么更改AD域用户账号和密码_AD域管理中那些实用的软件
- pytorchOCR之CRNN
- 红旗 Linux 5.0 正式版下载地址
- 使用hexo+icarus快速搭建属于自己的博客网站