LeetCode meituan-006. 小团的神秘暗号

文章目录

    • 1. 题目
    • 2. 解题

1. 题目

小团深谙保密工作的重要性,因此在某些明文的传输中会使用一种加密策略,小团如果需要传输一个字符串 S ,则他会为这个字符串添加一个头部字符串和一个尾部字符串。

头部字符串满足至少包含一个 “MT” 子序列,且以 T 结尾。
尾部字符串需要满足至少包含一个 “MT” 子序列,且以 M 开头。

例如 AAAMT 和 MAAAT 都是一个合法的头部字符串,而 MTAAA 就不是合法的头部字符串。
很显然这样的头尾字符串并不一定是唯一的,因此我们还有一个约束,就是 S 是满足头尾字符串合法的情况下的最长的字符串
很显然这样的加密策略是支持解码的,给出一个加密后的字符串,请你找出中间被加密的字符串 S 。

格式:输入:
- 输入第一行是一个正整数 n ,表示加密后的字符串总长度。
- 输入第二行是一个长度为 n 的仅由大写字母组成的字符串 T 。
输出:
- 输出仅包含一个字符串 S 。示例:
输入:10MMATSATMMT
输出:SATM提示:
1 <= n <= 100000
请注意,本题需要自行编写「标准输入」和「标准输出」逻辑,
以及自行 import/include 需要的 library

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/z3XKBp
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 贪心,找最短的前后缀,正向找到一次MT,反向找到一次TM
#include<bits/stdc++.h>
using namespace std;
int main()
{int n;string s;cin >> n;cin >> s;bool m = false, t = false;int i = 0, j = s.size()-1;for( ; i < s.size(); ++i){if(s[i]=='M' && !m)m = true;else if(s[i]=='T' && m){i++;break;}}for( ; j >= 0; --j){if(s[j]=='T' && !t)t = true;else if(s[j]=='M' && t)break;}cout << s.substr(i, j-i);return 0;
}

0 ms 3.6 MB C++


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!
Michael阿明

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

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

相关文章

mcjava盗版联机_我的世界java版联机版

软件介绍我的世界java版联机版为玩家带来更加有趣的沙盒探险&#xff0c;在这里玩家可以与好友相约一起探索&#xff0c;在多模式中选择自己西湖爱你的地图进行探索&#xff0c;多人合作&#xff0c;轻松搜集物资与道具&#xff0c;在任务中解锁更加新颖的皮肤&#xff0c;还有…

数据结构_二叉树遍历

#include<stdlib.h> #include<stdio.h> #define MAX 50 #define MAS 20 #define CHAR 1typedef char elem; //定义二叉树的数据结构 typedef struct node{elem data;//二叉树的值struct node *lchild; //左孩子struct node *rchild;//右孩子struct node *pare…

linux 文件编辑器,用于Linux的文本编辑器(除了Vi)?

用于Linux的文本编辑器(除了Vi)&#xff1f;首先&#xff0c;我说我在Mac OSX上使用TextMate来满足我的文本需求&#xff0c;因此我对此表示喜欢。 在Linux平台上有什么可比的吗&#xff1f; 我将主要使用它来编码python / ruby。谷歌搜索产生过时的答案。编辑&#xff1a;由于…

python 接口 、继承、重载运算符

文章目录1. 序列__getitem__2. __setitem__3. 抽象基类4. 不要直接子类化内置类型5. 继承顺序6. 重载运算符learn from 《流畅的python》 1. 序列__getitem__ 如果没有 __iter__ 和 __contains__ 方法&#xff0c; Python 会调用 __getitem__ 方法&#xff0c; 设法让 迭代 和…

oracle获取今天凌晨的时间_oracle查询日期语句有哪些?

oracle查询日期语句有&#xff1a;1、取得当前日期是本月的第几周&#xff0c;代码为【select to_char(sysdate,W)】&#xff1b;2、取得当前日期是一个星期中的第几天&#xff0c;代码为【select sysdate,to_char(sysdate,D】。oracle查询日期语句有&#xff1a;1:取得当前日期…

LeetCode meituan-007. 小团的选调计划(模拟)

文章目录1. 题目2. 解题1. 题目 美团打算选调 n 名业务骨干到 n 个不同的业务区域&#xff0c;本着能者优先的原则&#xff0c;公司将这 n 个人按照业务能力从高到底编号为 1~n 。 编号靠前的人具有优先选择的权力&#xff0c;每一个人都会填写一个意向&#xff0c;这个意向是…

一些建议方案猿简历

最近&#xff0c;他已经投了简历郁闷希望出没有收到答复。我觉得自己的技术也不是那么难看&#xff0c;现在的问题可能恢复&#xff0c;是搜索了下。对于程序猿写简历的一些建议。希望对大家有所帮助。希望对自己也有帮助。最后让offer来的更猛烈些吧&#xff01;&#xff01; …

linux用命令行进行无线连接,linux以命令行下配置连接wlan无线网卡

由于要搭建一个家庭服务器来测试&#xff0c;安装的是Debian 6系统&#xff0c;没有安装图形桌面&#xff0c;只有命令行&#xff0c;并且想用无线来连接。可以用以下方法&#xff0c;在命令行下面配置wifi。用iwconfig开启无线网卡的电源&#xff0c;并查找区域内的无线网络&a…

post请求改成body_如何使用BODY快速发送POST请求

我正在尝试使用Alamofire快速发布尸体的发布请求。我的json主体看起来像&#xff1a;{"IdQuiz" : 102,"IdUser" : "iosclient","User" : "iosclient","List":[{"IdQuestion" : 5,"IdProposition&q…

启动列表的activity

每学一个知识点就要重新创建一个项目&#xff0c;感觉那样太繁琐了&#xff0c;特别是android studio开发&#xff0c;没创建一个项目都会重新打开一个窗口 所以我就在那想&#xff0c;何不有一个功能列表&#xff0c;点击每一个列表项的时候就跳转到那个功能界面里 android里有…

linux webservice端口号,解决在Linux环境下访问webservice发送中文乱码问题的方案

首先&#xff0c;看在windows环境下正常显示中文的原因&#xff1a;打开cmd窗口&#xff0c;输入&#xff1a;chcp你会发现输出活动代码页: 936查阅936的意义&#xff1a;它指明了当前系统使用的编码&#xff0c;936 代表GBK 扩展的EUC-CN 编码( GB 2312-80编码,包含 6763 个汉…

LeetCode 1973. Count Nodes Equal to Sum of Descendants(DFS)

文章目录1. 题目2. 解题1. 题目 Given the root of a binary tree, return the number of nodes where the value of the node is equal to the sum of the values of its descendants. A descendant of a node x is any node that is on the path from node x to some leaf …

mybatis在指定库建表_使用MyBatis Plus自动添加数据库表中的创建时间、创建者、更新时间、更新者...

使用到Sringboot、Mybatis Plus、Shiro、Mysql1、创建一张部门表&#xff0c;表结构CREATE TABLE sys_dept (dept_id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 部门id,parent_id bigint(20) DEFAULT 0 COMMENT 父部门id,dept_name varchar(30) DEFAULT COMMENT 部门名称,o…

linux server.xml日志参数,Linux Log4j+Kafka+KafkaLog4jAppender 日志收集

背景&#xff1a;kafka版本&#xff1a;kafka_2.10-0.8.2.1服务器IP&#xff1a;10.243.3.17一&#xff1a;Kafkaserver.properties 文件配置二&#xff1a;zookeeper.properties 文件配置三&#xff1a; zookeeper,kafka启动../bin/zookeeper-server-start.sh -daemon /usr/lo…

LeetCode 1966. Binary Searchable Numbers in an Unsorted Array

文章目录1. 题目2. 解题1. 题目 Consider a function that implements an algorithm similar to Binary Search. The function has two input parameters: sequence is a sequence of integers, and target is an integer value. The purpose of the function is to find if t…

12 哈希表相关类——Live555源码阅读(一)基本组件类

12 哈希表相关类——Live555源码阅读(一)基本组件类 这是Live555源码阅读的第一部分&#xff0c;包括了时间类&#xff0c;延时队列类&#xff0c;处理程序描述类&#xff0c;哈希表类这四个大类。 本文由乌合之众 lym瞎编&#xff0c;欢迎转载 http://www.cnblogs.com/oloroso…

编辑器eslint格式_vscode保存代码,自动按照eslint规范格式化代码设置

vscode保存代码&#xff0c;自动按照eslint规范格式化代码设置编辑器代码风格一致&#xff0c;是前端代码规范的一部分。同一个项目&#xff0c;或者同一个小组&#xff0c;保持代码风格一致很必要。就拿vue项目来说&#xff0c;之前做的几个项目&#xff0c;很多小伙伴代码格式…

linux测试网络带宽极限,iperf 测试极限带宽

iperf 版本建议采用linux&#xff0c;事实上&#xff0c;windows版也很好用。带宽测试通常采用UDP模式&#xff0c;因为能测出极限带宽、时延抖动、丢包率。在进行测试时&#xff0c;首先以链路理论带宽作为数据发送速率进行测试&#xff0c;例如&#xff0c;从客户端到服务器之…

LeetCode MySQL 1571. 仓库经理

1. 题目 表: Warehouse ----------------------- | Column Name | Type | ----------------------- | name | varchar | | product_id | int | | units | int | -----------------------(name, product_id) 是该表主键. 该表的行包含了每个仓库…

将方法作为方法的参数 —— 理解委托

《.NET开发之美》上对于委托写到&#xff1a;“它们就像是一道槛儿&#xff0c;过了这个槛的人&#xff0c;觉得真是太容易了&#xff0c;而没有过去的人每次见到委托和事件就觉得心里别得慌&#xff0c;混身不自在。”我觉得这句话就像是在说我自己一样。于是我决定好好看看关…