当前位置: 首页 > news >正文

953 验证外星语词典

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

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

class Solution {
public:
    bool isAlienSorted(vector<string>& words, string order) {
        //map存储每个字母所对应的次序
        unordered_map<char,int>map;
        //遍历字母表,并赋值
        for(auto i=0;i<order.size();i++){
			map[order[i]]=i;
		}
		//遍历单词
		for(auto it=0;it<words.size()-1;it++){
            //当前单词
			string word1=words[it];
            //当前单词的下一个单词
			string word2=words[it+1];
            //长度为二者中短的
			int len=min(word1.size(),word2.size());
            //初始化为false,标记是否确定word1小于word2
			bool isvalid=false;
            //比较当前单词与下一单词
			for(auto j=0;j<len;j++){
                //如果word1对应次序小于word2次序,则设置isvalid为true,并跳出循环
				if(map[word1[j]]<map[word2[j]]){
					isvalid=true;
					break;
                //若word1次序大于word2次序,返回false
				}else if(map[word1[j]]>map[word2[j]]){
					return false;
				}
			}
            //如果比较的所有字符都相同,但word1比word2长,返回false
			if(!isvalid &&word1.length()>word2.length()){
				return false;
			}
		}
        //如果都满足,返回true
		return true;
    }
};

相关文章:

  • Qt关于平滑滚动的使用QScroller及QScrollerProperties类说明
  • 228页PPT丨制造业核心业务流程优化咨询全案(战略营销计划生产研发质量),附核心系统集成架构技术支撑体系,2月26日资料已更新
  • 【博资考1】网安学院-北航网安数学基础部分
  • Tomcat介绍
  • 13、虚函数和纯虚函数的区别【高频】
  • vscode+vue前端开发环境配置
  • YOLOv11-ultralytics-8.3.67部分代码阅读笔记-model.py
  • C++ 二分法中向下取整与向上取整的区别与应用场景详解
  • DeepSeek在赋能客户服务方面,3大业务场景落地
  • 【cuda学习日记】5.2 共享内存数据分布
  • 哔哩哔哩IT私塾python爬虫视频教程中的项目文件
  • python绘制cox列线图及绘制指南
  • Halcon 学习之路 set_grayval 算子
  • c++stl——容器
  • C++Qt学习笔记——实现一个串口通信界面
  • Debian安装C语言环境
  • DeepSeek开源:FlashMLA深度解析:Hopper架构上的大模型推理革命
  • 重大更新!锂电池剩余寿命预测新增 CALCE 数据集
  • 硬件基础(3):三极管(3):三极管作为开关的时候为什么设置其工作在截止区和饱和区
  • 达梦数据库中jdbc接口的大批量插入数据的写法推荐
  • 人形机器人灵犀X2掌握新技能:有了“内心戏”,还会拳脚功夫
  • 郑钦文憾负高芙,止步WTA1000罗马站四强
  • 呼吸医学专家杜晓华博士逝世,终年50岁
  • 将人工智能送上太空,我国太空计算卫星星座成功发射
  • A股三大股指涨跌互现:银行股领涨,两市成交12915亿元
  • 中国恒大:清盘人向香港高等法院申请撤回股份转让