每日一题——验证外星语词典

简介: 每日一题——验证外星语词典

953. 验证外星语词典

题目描述:

题解:

func isAlienSorted(words []string, order string) bool {
  // 初始化一个map,代表在新字典序对应的权重
  alphabetMap := make(map[byte]int)
  for i, i2 := range order {
    alphabetMap[byte(i2)] = i
  }
  ans := true
  for i := 0; i < len(words)-1; i++ {
    // 如果二者相等,直接下一波循环
    if words[i+1] == words[i] {
      continue
    }
    shortLen := min(len(words[i+1]), len(words[i]))
    for j := 0; j < shortLen; j++ {
      if alphabetMap[words[i][j]] < alphabetMap[words[i+1][j]] {
        // 如果是最后俩单词,且满足字典序,直接返回true。
        if i+1+1 == len(words) {
          return true
        }
        break
      }
      // 比较在给定的字典序里的大小
      if alphabetMap[words[i][j]] > alphabetMap[words[i+1][j]] {
        ans = false
        return ans
      }
    }
    // 如果内存循环走完,这里我们要考虑,"apple","app" 这种情况,
    // 使用Compare函数,比较二者,如果大于0 就代表没有遵守给的字典序。
    if strings.Compare(words[i], words[i+1]) > 0 {
      ans = false
    }
  }
  return ans
}
func min(a, b int) int {
  if a > b {
    return b
  }
  return a
}

提交结果:

相关文章
|
6天前
|
自然语言处理 算法 Java
基于Python实现四大名著章节标注汉语拼音
基于Python实现四大名著章节标注汉语拼音
29 0
|
6天前
|
定位技术
英语词组 get out of 的几种使用方法介绍
英语词组 get out of 的几种使用方法介绍
75 0
|
8月前
趣味成语接龙游戏里,如何判断用户输入的成语接龙成功?
趣味成语接龙游戏里,如何判断用户输入的成语接龙成功?
78 1
|
10月前
|
数据采集 存储 人工智能
【每周一坑】自动翻译 | 【解答】单词本
提示:翻译功能可以通过网上的翻译 API 实现,你所要了解的就是如何发起网络请求,以及如果对返回结果进行处理。这也算是基本的爬虫操作。
|
11月前
|
算法
蓝桥杯算法训练】字符串编辑
从键盘输入一个字符串(长度<=40个字符),并以字符 ’.’ 结束。编辑功能有:   1 D:删除一个字符,命令的方式为: D a 其中a为被删除的字符,例如:D s 表示删除字符 ’s’ ,若字符串中有多个 ‘s’,则删除第一次出现的。   2 I:插入一个字符,命令的格式为:I a1 a2 其中a1表示插入到指定字符前面,a2表示将要插入的字符。例如:I s d 表示在指定字符 ’s’ 的前面插入字符 ‘d’ ,若原串中有多个 ‘s’ ,则插入在最后一个字符的前面。   3 R:替换一个字符,命令格式为:R a1 a2 其中a1为被替换的字符,a2为替换的字符,若在原串中有多个a1则应全部
142 0
【mj】midjourney 提示语小结
【mj】midjourney 提示语小结
294 0
|
人工智能 自然语言处理 搜索推荐
ChatGPT 中文指令指南,教会你如何使用chatgpt实现中文你想要的答案
ChatGPT 中文指令指南,教会你如何使用chatgpt实现中文你想要的答案
|
自然语言处理
LeetCode每日一题——953. 验证外星语词典
某种外星语也使用英文小写字母,但可能顺序 order 不同。字母表的顺序(order)是一些小写字母的排列。
87 0
|
自然语言处理
自然语言处理(中文分句)——————中文逆向最大匹配,文章中含有验证源码
自然语言处理(中文分句)——————中文逆向最大匹配,文章中含有验证源码
179 0
自然语言处理(中文分句)——————中文逆向最大匹配,文章中含有验证源码
|
存储 自然语言处理 搜索推荐
使用jieba分析小说太古神王中,男主更爱谁?去文章中找答案吧!
很多时候,我们会去统计一片文章中的高频词汇,以此来作为文章的关键词条,那么词频分析在python中,该用什么模块做?jieba! 第一次听到这个词就乐了,一个“结巴”,帮助我们统计词频...但仔细了解这个模块后,你会发现它的强大。怎么证明?来看看github。
216 0