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

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

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
}

提交结果:

相关文章
|
12月前
|
机器学习/深度学习 人工智能 算法
《C++助力无监督学习:挖掘数据潜在结构的高效之道》
在无监督学习中,聚类分析与降维算法至关重要,它们能从未标记数据中发现隐藏结构。使用C++实现时,通过高效计算数据点相似度、优化K-Means算法初始化及采用随机化PCA等技术,可显著提升模型训练和评估的效率。C++的内存管理和多线程特性进一步增强了算法的性能,使其在数据挖掘、图像识别等领域发挥重要作用。
168 11
|
12月前
|
消息中间件 Java Kafka
实时数仓Kappa架构:从入门到实战
【11月更文挑战第24天】随着大数据技术的不断发展,企业对实时数据处理和分析的需求日益增长。实时数仓(Real-Time Data Warehouse, RTDW)应运而生,其中Kappa架构作为一种简化的数据处理架构,通过统一的流处理框架,解决了传统Lambda架构中批处理和实时处理的复杂性。本文将深入探讨Kappa架构的历史背景、业务场景、功能点、优缺点、解决的问题以及底层原理,并详细介绍如何使用Java语言快速搭建一套实时数仓。
1183 4
|
存储 安全 数据挖掘
云时代下,如何高效管理企业数据
简述管理企业数据的一些方式以及企业版网盘与个人版网盘的差异
|
弹性计算 关系型数据库 MySQL
MySQL数据库快速部署实践
本场景主要介绍如何在一台配置了CentOS 7.7版本的ECS实例(云服务器)上安装mysql,执行mysql的常用操作,学习基本的SQL语句。
|
存储 芯片 异构计算
电子技术课程设计基于FPGA的音乐硬件演奏电路的设计与实现
设计一个乐曲演奏电路,能够自动播放编写好的音乐。要求将音乐通过实验箱上的喇叭播放出来,用发光二级管显示出乐曲的节拍。 (附加功能:本设计在题目所要求的功能全部实现的基础之上又添加了许多附加功能,所有的功能将在“工程设计总述”中阐明,特此声明。
|
安全 容灾 数据中心
云企业网概述和优势|学习笔记
快速学习云企业网概述和优势
云企业网概述和优势|学习笔记
|
算法 搜索推荐 前端开发
2020高德技术年刊:18万字、750页+,智慧出行最佳技术实践都在这了
在2021年春节即将到来之际,我们精选了几十篇高德技术的干货文章及数篇国际顶会论文,制作成了一本厚达750页+的电子书,作为新年礼物赠送给大家。
12507 0
2020高德技术年刊:18万字、750页+,智慧出行最佳技术实践都在这了
|
资源调度 调度 容器
|
区块链
ICO | 关于区块链代币经济学的思考
区块链这个技术能让一家初创企业以极低的成本发行一个生态内循环的代币(Token)。
1787 0
|
算法 数据挖掘
菜鸟—需求预测与分仓规划冠军——“商品小A”团队赛后总结
在菜鸟—需求预测与分仓规划比赛上,“商品小A”团队获得了冠军。队长袁光浩分享了“商品小A”团队的数据探索以及算法实现过程。
6586 0