题目

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

给定一组用外星语书写的单词 words,以及其字母表的顺序 order,只有当给定的单词在这种外星语中按字典序排列时,返回 true;否则,返回 false。

样例

思路

  1. 重写字母表 和 比较器
  2. 具体源码如下: 这是 string类的compareTo方法。可以看出,字母表是按照英文字母 26个单词,进行比较,因此我们只需要重写字母表 和 比较器即可
 public int compareTo(String anotherString) {int len1 = value.length;int len2 = anotherString.value.length;int lim = Math.min(len1, len2);char v1[] = value;char v2[] = anotherString.value;int k = 0;while (k < lim) {char c1 = v1[k];char c2 = v2[k];if (c1 != c2) {return c1 - c2;}k++;}return len1 - len2;}

AC代码

class Solution {char[] weightChar = new char[26];char index = 'a';public boolean isAlienSorted(String[] words, String order) {for (int i = 0; i < order.length(); i++) {weightChar[order.charAt(i) - 'a'] = index++;}for (int i = 0; i < words.length - 1; i++) {String before = words[i];String after = words[i + 1];if (compareTo(before, after) > 0) {return false;}}return true;}public int compareTo(String before, String after) {char[] v1 = before.toCharArray();char[] v2 = after.toCharArray();int lim = Math.min(before.length(),after.length());int k = 0 ;while(k < lim){char c1 = weightChar[v1[k] - 'a'];char c2 = weightChar[v2[k] - 'a'];if(c1 != c2){return c1 - c2;}k++;}return before.length() - after.length();}
}

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. iphone通讯录批量删除_iPhone通讯录删除了如何恢复?用对方法快速找回,亲测有效!_...
  2. Android中NFC编程
  3. 多重判定系数怎么求_关于多重共线性
  4. 【原创】packetbeat 之“request-response 错误关联”问题
  5. Angular应用的angular.json文件字段一览
  6. 解决Ajax不能跨域的方法
  7. IndexNotReadyException: Please change caller according to com.intellij.openapi.project.IndexNotReady
  8. 【BZOJ4196】【codevs4621】软件包管理器,树链剖分练习
  9. php三年经验 多少工资_PHP2年以上经验,在深圳工资能拿多少?
  10. 7.10.8107.79 小心80180048
  11. java8编程开发入门 李兴华_李兴华系列--JAVA详解视频(jdk1.8)及项目实战教程
  12. 数字电视CA原理与破解方式
  13. 烽火携手中航信斩获“十佳上云”优秀案例大奖
  14. 盘点2022年最受欢迎的6大前端框架
  15. 【Ps问题】PS旋转功能会让图片乱飞的解决方法
  16. android 实现果冻动画效果,HTML5/Canvas粘滑的果冻动画特效
  17. HDU-4515,小Q系列故事——世界上最遥远的距离(日期计算)
  18. SQL中round()函数、Ucase()、Lcase()、as的用法
  19. 卡方检验x2检验(chi-square test)
  20. 曼谷旅游不可错过的游船体验:游览湄南河,赏两岸风光

热门文章

  1. 【蓝桥杯技巧篇】处理日期相关问题详解
  2. solr4.4 索引mysql数据库数据_solr4.4 索引mysql数据库数据(DataImport DIH QuickStart)
  3. oracle 数据库 ORA-28000错误的原因及解决办法
  4. java获取一天的起止时间
  5. 运维36讲第07课:基于 Django_crontab、Xadmin 做一套定时任务管理系统
  6. 5款靠谱的安卓备份应用
  7. Java如何获取IP属地 ip2region failed to create searcher with x:java.io.FileNotFoundException:( 系统找不到指定的路径)
  8. 非学校用户如何免费下载论文
  9. JAVA的卸载与重新安装
  10. 【Python】Windows下安装scipy库步骤