天池 在线编程 有序队列
文章目录
- 1. 题目
- 2. 解题
1. 题目
给出了一个由小写字母组成的字符串 S。
然后,我们可以进行任意次数的移动。
在每次移动中,我们选择前 K 个字母中的一个(从左侧开始),将其从原位置移除,并放置在字符串的末尾。
返回我们在任意次数的移动之后可以拥有的按字典顺序排列的最小字符串。
样例 1:
输入:S = "cba", K = 1
输出:"acb"
解释:
在第一步中,我们将第一个字符(“c”)移动到最后,获得字符串 “bac”。
在第二步中,我们将第一个字符(“b”)移动到最后,获得最终结果 “acb”。样例 2:
输入:S = "baaca", K = 3
输出:"aaabc"
解释:
在第一步中,我们将第一个字符(“b”)移动到最后,获得字符串 “aacab”。
在第二步中,我们将第三个字符(“c”)移动到最后,获得最终结果 “aaabc”。
https://tianchi.aliyun.com/oj/286606814880453210/327250187142763358
2. 解题
- K >= 2,可以交换任意字符位置,排序即可
- K = 1,依次将首字符放到末尾,取最小的字符串
class Solution {public:/*** @param S: a string* @param K: int* @return: the lexicographically smallest string*/string orderlyQueue(string &S, int K) {// Write your code here.if(K >= 2){sort(S.begin(), S.end());return S;}string ans = S, t = S;for(int i = 0; i < S.size(); i++){ans = min(ans, t);char c = t[0];t += c;t.erase(t.begin());}return ans;}
};
50ms C++
我的CSDN博客地址 https://michael.blog.csdn.net/
长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!
天池 在线编程 有序队列相关推荐
- 【组队学习】【34期】阿里云天池在线编程训练营
阿里云天池在线编程训练营 航路开辟者:陈信达.杨世超.赵子一.马燕鹏 领航员:武帅.初晓宇.叶前坤.邱广坤.朱松青 航海士:宁彦吉.肖桐.汪超.陈信达.杨世超.赵子一.武帅.初晓宇.叶前坤.邱广坤.朱 ...
- 天池 在线编程 区间统计(队列)
文章目录 1. 题目 2. 解题 1. 题目 给定一个01数组 arr 和 一个整数 k, 统计有多少区间符合如下条件: 区间的两个端点都为 0 (允许区间长度为1) 区间内 1 的个数不多于 k a ...
- 天池 在线编程 队列检查(排序)
文章目录 1. 题目 2. 解题 1. 题目 描述 班上的学生根据他们的年级照片的身高升序排列,确定当前未站在正确位置的学生人数 数组长度 <= 10^5 示例 输入: heights = [1 ...
- 天池 在线编程 最长AB子串(哈希)
文章目录 1. 题目 2. 解题 1. 题目 描述 给你一个只由字母'A'和'B'组成的字符串s,找一个最长的子串,要求这个子串里面'A'和'B'的数目相等,输出该子串的长度. 这个子串可以为空. s ...
- 天池 在线编程 最大子树(自底向上)
文章目录 1. 题目 2. 解题 1. 题目 描述 给你一棵二叉树,找二叉树中的一棵子树,他的所有节点之和最大. 返回这棵子树的根节点. 我会把你返回的节点作为最优子树的树根来打印. 数据保证有且仅有 ...
- 天池 在线编程 输入流
文章目录 1. 题目 2. 解题 1. 题目 描述 给出两个输入流 inputA 和 inputB(包含退格符), 如果两个输入流最后的结果相等,输出 YES,否则输出 NO. 输入字符只包括小写字母 ...
- 天池 在线编程 推荐朋友(哈希)
文章目录 1. 题目 2. 解题 1. 题目 描述 给n个人的朋友名单,告诉你user是谁,请找出user最可能认识的人.(他和user有最多的共同好友且他不是user的朋友) n <= 500 ...
- 天池 在线编程 停车困境(双指针)
文章目录 1. 题目 2. 解题 1. 题目 描述 停车场里停着许多汽车. 停车位是一条很长的直线,每米都有一个停车位. 当前很多汽车停放,您想通过建造屋顶来遮雨挡雨. 要求至少有k辆车的车顶被车顶遮 ...
- 天池 在线编程 回文子串(区间动态规划)
文章目录 1. 题目 2. 解题 1. 题目 描述 小明喜欢玩文字游戏,今天他希望在一个字符串的子串中找到回文串. 回文串是从左往右和从右往左读相同的字符串,例如121和tacocat.子串是一个字符 ...
最新文章
- ps aux参数说明
- 考研成绩查询系统(jsp、mysql、java)
- Blazor将.NET带回到浏览器
- 恢复mysql数据库详细图解_binlog恢复mysql数据库超详细步骤
- Python中__init__和__new__的区别详解
- □□□□□□(此处略去X个字)
- UItextView使用详解
- docker容器运行jar
- [转]Flex是什么?flex和flash是什么关系 ?
- PowerBuilder 加载动画+遮罩
- 网站订单销售统计电商后台前端模板
- wps文件上的logo怎么去掉_PPT上LOGO怎么去掉怎么去除母版logo
- 中国互联网老总的经典妙语语录
- qq浏览器网站禁止访问怎么办 qq浏览器网站禁止访问如何解决
- XUPT 寒假算法集训第一周
- 什么是闭包,对闭包的理解,闭包的用途及优缺点
- DB2存储过程使用游标
- 数据库设计之概念结构设计---------E-R图详解 (各种各样的实例)
- Summernote文字编辑器添加代码插入功能
- vmware12安装教程
热门文章
- python常用快捷键、写代码事半功倍_Pycharm常用快捷键总结及配置方法
- MySQL5.7升级到8.0 之后,配合ubantu18.04遇到的常规问题以及非常规问题的解决方案
- Linux中的 硬链接ln和软连接ln -s
- qtableview点击行将整行数据传过去_可以实时获取数据的Database Asset插件
- sprintf用法详解
- C++成员函数重载、覆盖和隐藏的区别
- Linux字符设备驱动剖析
- MyBatis 逆向工程(MyBatis 自动生成接口以及xml)的使用
- Uva 201 Squares (暴力 + 枚举)
- Java程序员应该了解的10个设计原则