力扣-LCR 169. 招式拆解 II

文章目录

      • 力扣题目
      • 代码

力扣题目

某套连招动作记作仅由小写字母组成的序列 arr,其中 arr[i] 第 i 个招式的名字。请返回第一个只出现一次的招式名称,如不存在请返回空格。

示例 1:

输入:arr = “abbccdeff”
输出:‘a’
示例 2:

输入:arr = “ccdd”
输出:’ ’

限制:

0 <= arr.length <= 50000

代码

使用到了自定义类型的map,如果有看不明白的可以参考map容器的使用,文章里边有自定义数据类型排序可以参考一下,易懂!

class Index
{
public:Index(int index, int counts){m_index = index;/*key值对应的索引*/m_counts = counts;/*key值元素在字符数组中出现的次数*/}int m_index;int m_counts;
};class Solution {
public:char dismantlingAction(string arr) {map<char, Index>m;/*创建一个自定义的类*/int minIndex = 60000;/*随便给出一个大于arr.length的值*/int flag = -1;/*标记用来确定是否返回空格字符*/char temp = 0;/*返回的字符*/for (int i = 0; i < arr.size(); i++){map<char, Index>::iterator pos = m.find(arr[i]);if (pos != m.end())/*字符数组中的元素已经在容器m中存在*/{pos->second.m_counts++;/*更新出现次数*/}else {m.insert(make_pair(arr[i], Index(i, 1)));}}for (map<char, Index>::iterator it = m.begin(); it != m.end(); it++){if (1 == it->second.m_counts)/*判断arr中是否有只出现一次的数据*/{flag = 1;/*找到索引值小的元素,也就是题目中所说的返回第一个只出现一次的招式名称*/if (it->second.m_index < minIndex){minIndex = it->second.m_index;/*更新最小的索引值*/temp = it->first;/*更新索引对应的字符值*/}          }}/*如果flag < 0说明arr中的元素都不符合条件,返回空格*/if (flag < 0){return ' ';}return temp;}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/13933.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

EI会议的投稿流程是什么?

EI会议是工程技术领域的学术会议&#xff0c;为研究人员提供展示研究成果、交流学术观点的平台。下面是EI会议投稿的详细流程&#xff1a; EI会议论文的投稿流程是什么&#xff1f; 确定会议信息&#xff1a; 首先&#xff0c;确定你感兴趣的EI会议的相关信息&#xff0c;包括…

数据结构:树(3)【二叉树链式结构实现】【二叉树的前序,中序,后序遍历】【求二叉树全部结点个数】【求二叉树叶子结点个数】【求二叉树的深度】【单值二叉树】

一.二叉树链式结构的实现 二叉树的链式结构的实现相对于顺序结构的实现就没有那么多的讲究了。就是普通的链表&#xff0c;只不过多了一个指向的指针。 具体结构如下&#xff1a; typedef int BTDataType; typedef struct BinaryTreeNode {BTDataType data;struct BinaryTre…

消息号 KI261 成本中心 XXXX/123123 冻结而不能直接对 2020.10.08 收入记帐

做AR凭证遇到如上图所示的报错&#xff0c;检查之后发现是科目的成本要素类别与成本中心的控制面板-锁定中的类型不匹配&#xff0c;现在科目的成本要素类别是11&#xff0c;控制面板中锁定了“实际销售收入”与“计划收入”。 成本要素类别“11”代表主营收入或者库存收入&…

WEB攻防【1】——ASP应用/HTTP.SYS/短文件/文件解析/Access注入/数据库泄漏

#知识点&#xff1a; 1、ASP-SQL注入-Access数据库 2、ASP-默认安装-数据库泄漏下载 3、ASP-IIS-CVE&短文件&解析&写入 windows iis asp access &#xff08;sqlsever&#xff09; 常见组合&#xff1a;winiisaspaccess php一般是和mysql搭配 access 数据库 一…

SQL刷题笔记day1

1题目 我的代码&#xff1a; select * from employees order by hire_date desc limit 2,1 标准代码&#xff1a; select * from employees where hire_date (select distinct hire_date from employees order by hire_date desc limit 2,1) 复盘&#xff1a;因为按照入…

[Java]Java后端程序员开发经常使用的方法函数(持续更新)

文章目录 简述数据库&#xff08;MySQL&#xff09;查询所有字段查询所有字段并逗号隔开&#xff08;id,name.code&#xff09;增加或者减少指定的天数查询指定年份的数据数据库表新增信息用 EXISTS 或 NOT EXISTS 代替 IN 或 NOT IN7位设备编码补零生成查询相同id下&#xff0…

FOC之反park变化推导笔记

FOC之反park变化推导笔记 Vd和Vq是Id和Iq电流经过PID控制器后得到的电压值。 至于为什么PID出来就是电压值&#xff0c;因为Ud和Uq的公式中有id和iq&#xff0c;两者之间有关系&#xff0c;具体的我给出两个链接。 https://blog.csdn.net/lanmanck/article/details/105551779 …

excel里如何将数据分组转置?

这个表格怎样转换为下表&#xff1f;按照国家来分组&#xff0c;把不同年份对应的不同序列值进行转置&#xff1f;&#xff1f; 这演示用数据透视表就完成这个数据转换。 1.创建数据透视表 选中数据中任意单元格&#xff0c;点击插入选项卡&#xff0c;数据透视表&#xff0c;…

202472读书笔记|《首先你要快乐,其次都是其次》——快乐至上,允许一切发生

202472读书笔记|《首先你要快乐&#xff0c;其次都是其次》——快乐至上&#xff0c;允许一切发生 《首先你要快乐&#xff0c;其次都是其次》作者林小仙&#xff0c;挺轻松的小漫画&#xff0c;清新的文字。 生而为人&#xff0c;我很抱歉&#xff0c;大可不必。 生活已经很难…

【正点原子Linux连载】 第四十五章 SATA硬盘驱动实验摘自【正点原子】ATK-DLRK3568嵌入式Linux驱动开发指南

1&#xff09;实验平台&#xff1a;正点原子ATK-DLRK3568开发板 2&#xff09;平台购买地址&#xff1a;https://detail.tmall.com/item.htm?id731866264428 3&#xff09;全套实验源码手册视频下载地址&#xff1a; http://www.openedv.com/docs/boards/xiaoxitongban 第四十…

【MySQL精通之路】SQL优化(1)-查询优化(2)-范围查询优化

主博客&#xff1a; 【MySQL精通之路】SQL优化(1)-查询优化-CSDN博客 上一篇&#xff1a; 【MySQL精通之路】SQL优化(1)-查询优化(1)-WHERE子句-CSDN博客 下一篇&#xff1a; 【MySQL精通之路】SQL优化(1)-查询优化(3)-索引合并-CSDN博客 目录 1.单列索引的范围访问方法 …

快速搭建SpringMvc项目

一、什么是springMvc 1、介绍 Spring Web MVC是基于Servlet API构建的原始Web框架&#xff0c;从一开始就包含在Spring Framework中。正式名称“Spring Web MVC”来自其源模块的名称&#xff08; spring-webmvc &#xff09;&#xff0c;但它通常被称为“Spring MVC”。 在控制…

JS片段:如何将文本复制到剪贴板

在构建网站时&#xff0c;一个非常普遍的需求是能够通过单击按钮将文本复制到剪贴板。在现代浏览器中&#xff0c;使用navigator.clipboardAPI 访问系统剪切板&#xff0c;利用clipboard.writeText复制到剪贴板&#xff0c;再通过clipboard.readText获取剪贴板内容即可实现。 …

GitLab的原理及应用详解(一)

本系列文章简介&#xff1a; 随着软件开发的不断进步和发展&#xff0c;版本控制系统成为了现代软件开发过程中不可或缺的一部分。而GitLab作为其中一种流行的版本控制工具&#xff0c;在软件开发领域享有广泛的应用。GitLab不仅提供了强大的版本控制功能&#xff0c;还集成了项…

springboot集成redis实现消息的订阅与发布

&#xff08;十九&#xff09;springboot实战——springboot集成redis实现消息的订阅与发布_springboot redis消息订阅-CSDN博客 https://blog.csdn.net/yprufeng/article/details/136151115 package com.yundi.atp.config;import org.springframework.context.annotation.Bea…

Linux x86_64 UEFI 启动

文章目录 前言一、UEFI二、Disk device compatibility2.1 GPT 磁盘分区表2.1.1 简介2.1.2 Linux 2.2 ESP&#xff08;EFI&#xff09; 文件系统2.2.1 简介2.2.2 LinuxLinux Kernel EFI Boot Stub 三、UEFI GPT grub23.1 简介3.2 引导方式 3.3 BOOTX64.EFI3.4 shimx64.efi3.5 …

DEV--C++小游戏(吃星星(1.2))

目录 吃星星&#xff08;1.2&#xff09; 该版本简介更新说明 分部代码 头文件命名空间变量 结构体 角色结构体 星星结构体 打印地图结构体 函数 函数声明 单人模式游戏函数 双人模式游戏函数 开始游戏函数 清屏函数 定点输出函数 隐藏光标函数 输入函数 单人…

wordpress子目录建站

在WordPress中建立在子目录的网站&#xff0c;你需要修改wp-config.php文件中的常量定义&#xff0c;使其指向正确的子目录路径。以下是修改步骤&#xff1a; 将WordPress安装包上传到你的子目录中。 解压缩安装包&#xff0c;如果你是通过FTP工具上传的&#xff0c;请确保上传…

React hooks - useReducer

useReducer 用法使用使用 Immer 更简单的编写 reducer 注意事项 用法 可同时更新多个状态&#xff0c;且能把对状态的修改从组件中独立出来&#xff0c;状态更新逻辑较复杂时可以考虑使用。代码逻辑更清晰&#xff0c;代码行为易预测&#xff1a;组件负责发出行为&#xff0c;…

通过Web网管切换到命令行界面【华为路由器】

一、注意事项 1.当前操作系统用户需要具有管理权限 2.设备仅呼出telnet客户端&#xff0c;设备仅发起telnet连接&#xff0c;不包括管理 3.不支持通过url地址或地址、端口的映射环境访问CLI控制台 二、准备条件 1.浏览器切换 CLI控制台只能使用IE浏览器&#xff0c;先把浏…