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

public boolean isAlienSorted(String[] words, String order) {//因为要按照给定字母表的顺序来判断,所以其实大小顺序已经确定好了,也就是从小到大//首先将字母表顺序确定一下//用现实生活中的字母表来保存外星人字母表顺序//声明一个数组,保存26个字母int[] letter = new int[26];for (int i = 0; i < order.length(); i++) {letter[order.charAt(i) - 'a'] = i;}//然后开始对字符串数组进行判断,两两判断即可,只要有一对不符合从小到大的要求,那么就是不符合要求//声明一个变量,表示是否符合要求//0 代表字符都相等  1代表字符出现符合要求的了  2代表字符出现不符合要求的了int valid = 0;//两两判断for (int i = 1; i < words.length; i++) {//判断是从这两个字符串的第一个字母开始判断,并且判断到某一个字符串结束为止for (int j = 0; j < words[i].length() && j < words[i - 1].length(); j++) {//如果当前的字符的字典序是在前一个字符串相应字符前面,那么直接返回true即可if (letter[words[i].charAt(j) - 'a'] - letter[words[i - 1].charAt(j) - 'a'] > 0) {valid = 1;break;}if (letter[words[i].charAt(j) - 'a'] - letter[words[i - 1].charAt(j) - 'a'] < 0) {valid = 2;break;}}//如果能运行到此处,说明两个字符串已比较内容完全相等,且至少有一个字符串已经到头//那么就是短的应该在前面if (valid == 0) {if (words[i].length() > words[i - 1].length()) {valid = 1;}if (words[i].length() < words[i - 1].length()) {valid = 2;}}if (valid == 2) {break;}}//字符相等和字符顺序符合要求,都应该返回trueif (valid == 0 || valid == 1) {return true;} else {return false;}}

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. 验证外星语词典

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

  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. 每天一个linux命令(15):tail 命令
  2. BZOJ 1406 密码箱(数论)
  3. java随机产生密码_用Java生成随机密码的方法
  4. SAP Spartacus 的延迟加载 Lazy load 设计原理
  5. SendMessage
  6. (三) 弦截法(试位法)求根
  7. ubuntu 上搭建lanp环境
  8. 国外计算机应用基础,计算机应用基础试题(国外英文资料).doc
  9. java adsl 拨号_Java实现ADSL拨号上网
  10. 鸿蒙os系统使用技巧,鸿蒙OS 应用权限管理
  11. [Java反序列化]—SnakeYaml反序列化
  12. 习题11-8 单链表结点删除
  13. python开三次方_python 3次方
  14. ReleaseDC、DeleteDC(买二送一DeleteObject)简单解析
  15. 同步、异步 阻塞、非阻塞
  16. html表单新增类型,HTML5表单设计——新增输入类型和新增表单属性
  17. 拓扑排序与关键路径(AOV网和AOE网)
  18. 阿里云 视频直播 中心推流回调URL
  19. 嵌入式驱动那年的笔试面试-有干货
  20. (附源码)ssm基于web技术的医务志愿者管理系统 毕业设计 100910

热门文章

  1. Java-多线程的使用
  2. spring hateoas初体验
  3. Linux学习笔记RHEL 7(一)--RedHatEnterpriseLinux 7.0安装过程
  4. 深度学习(十)人脸识别与神经风格迁移
  5. 小程序setData执行后,页面没有刷新
  6. 去除input边框以及选中时边框 默认样式
  7. latex+bibtex+jabref
  8. 张俊林:ChatGPT 会成为下一代搜索引擎吗
  9. 中国家电闯入国外运营费成本比中国高
  10. Java如何实现多继承?