当前位置:网站首页>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;
}
};
边栏推荐
猜你喜欢

高效目标检测:动态候选较大程度提升检测精度(附论文下载)

EMQX Newsletter 2022-07|EMQX 5.0 正式发布、EMQX Cloud 新增 2 个数据库集成

MySQL Basics

使用 ReportLab 绘制 PDF

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

微导纳米IPO过会:年营收4.28亿 君联与高瓴是股东

List类的超详细解析!(超2w+字)

Matlab paper illustration drawing template No. 42 - bubble matrix diagram (correlation coefficient matrix diagram)

149. 直线上最多的点数-并查集做法

头条服务端一面经典10道面试题解析
随机推荐
Statistical machine learning 】 【 linear regression model
Redis 内存满了怎么办?这样置才正确!
一种能有效缓解环境噪声对音频质量干扰的方案
友宏医疗与Actxa签署Pre-M Diabetes TM 战略合作协议
Anaconda virtual environment migration
机器学习中专业术语的个人理解与总结(纯小白)
In-depth understanding of JVM-memory structure
Golang死信队列的使用
剑指 Offer II 044. 二叉树每层的最大值-dfs法
子结点的数量(2)
Reveal how the five operational management level of hundreds of millions of easily flow system
危化企业双重预防机制数字化建设进入全面实施阶段
YARN功能介绍、交互流程及调度策略
详解AST抽象语法树
async 和 await 原来这么简单
揭秘5名运维如何轻松管理数亿级流量系统
那些年我写过的语言
Matlab paper illustration drawing template No. 42 - bubble matrix diagram (correlation coefficient matrix diagram)
wordpress建立数据库连接时出错
ESP8266-Arduino编程实例-WS2812驱动