当前位置:网站首页>leetcode 899. 有序队列
leetcode 899. 有序队列
2022-08-03 20:06:00 【会编程的露娜】
给定一个字符串 s 和一个整数 k 。你可以从 s 的前 k 个字母中选择一个,并把它加到字符串的末尾。
返回 在应用上述步骤的任意数量的移动后,字典上最小的字符串 。
示例 1:
输入:s = “cba”, k = 1
输出:“acb”
解释:
在第一步中,我们将第一个字符(“c”)移动到最后,获得字符串 “bac”。
在第二步中,我们将第一个字符(“b”)移动到最后,获得最终结果 “acb”。
示例 2:
输入:s = “baaca”, k = 3
输出:“aaabc”
解释:
在第一步中,我们将第一个字符(“b”)移动到最后,获得字符串 “aacab”。
在第二步中,我们将第三个字符(“c”)移动到最后,获得最终结果 “aaabc”。
提示:
1 <= k <= S.length <= 1000
s 只由小写字母组成。
思路:
当k==1时,将原字符串看成一个环,从开头到结尾每次都将第一个字符放在末尾,保存这些字符中的字典序最小的情况,直接模拟。
当k>=2时,经过有限次的操作,一定可以变成升序,因为我们每次在前k个中都可以选择最大的那个放在最后,这样实际操作起来很麻烦,但和sort排好序的结果是一样的,所以直接sort返回即可。
class Solution {
public:
string orderlyQueue(string s, int k) {
if(k>1){
sort(s.begin(),s.end());
return s;
}
string ans=s;
for(int i=0;i<s.size();++i){
s=string{
s.begin()+1,s.end()}+s[0];
ans=min(ans,s);
}
return ans;
}
};
边栏推荐
猜你喜欢

pytorch框架实现老照片修复功能详细演示(GPU版)

若依集成easyexcel实现excel表格增强

【leetcode】剑指 Offer II 009. 乘积小于 K 的子数组(滑动窗口、双指针)
[email protected] 594/[email prote"/>RNA核糖核酸修饰Alexa 568/[email protected] 594/[email prote

tRNA-m5C转运RNA(tRNA)修饰5-甲基胞嘧啶(m5C)|tRNA修饰m1Am2A (2-methyladenosine)

嵌入式分享合集27

力扣59-螺旋矩阵 II——边界判断

亚马逊云科技 Build On 2022 - AIot 第二季物联网专场实验心得

使用 ReportLab 绘制 PDF

Network protocol-TCP, UDP difference and TCP three-way handshake, four wave
随机推荐
JS 内置构造函数 扩展 prototype 继承 借用构造函数 组合式 原型式creat 寄生式 寄生组合式 call apply instanceof
YARN功能介绍、交互流程及调度策略
php根据两点经纬度计算距离
力扣707-设计链表——链表
汉源高科8光口12电口交换机千兆8光8电12电16电网管型工业以太网交换机
消除对特权账户的依赖使用Kaniko构建镜像
抖音web逆向教程
入门3D建模基础教程详细分解
tRNA-m5C转运RNA(tRNA)修饰5-甲基胞嘧啶(m5C)|tRNA修饰m1Am2A (2-methyladenosine)
Hinton2022年RobotBrains访谈记录
Golang死信队列的使用
【飞控开发高级教程4】疯壳·开源编队无人机-360 度翻滚
不要再用if-else
Network protocol-TCP, UDP difference and TCP three-way handshake, four wave
嵌入式分享合集27
(十六)51单片机——红外遥控
Alexa染料标记RNA核糖核酸|RNA-Alexa 514|RNA-Alexa 488|RNA-Alexa 430
微导纳米IPO过会:年营收4.28亿 君联与高瓴是股东
倒计时2天,“文化数字化战略新型基础设施暨文化艺术链生态建设发布会”启幕在即
C51 存储类型与存储模式