当前位置:网站首页>【LeetCode】899. 有序队列
【LeetCode】899. 有序队列
2022-08-03 16:30:00 【pass night】
题目
给定一个字符串 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 <= 1000s只由小写字母组成。
思路
- 若 k = 1 k=1 k=1,只有一种情况,遍历所有情况,取最小值
- 若 k > 1 k>1 k>1,每一次把最小值和最大值分别移到第一格和第二格,然后将最大值移到最后一格,如此反复,字符串必将有序,所以直接输出排序后的字符串
代码
class Solution:
def orderlyQueue(self, s: str, k: int) -> str:
if k==1:
ret = s
for _ in range(len(s)-1):
s = s[1:]+s[0]
ret = min(s,ret)
return ret
return ''.join(sorted(s))
复杂度
- 时间复杂度: O ( n 2 ) O(n^2) O(n2)
- 空间复杂度: O ( n ) O(n) O(n)
边栏推荐
猜你喜欢

C专家编程 第3章 分析C语言的声明 3.8 理解所有分析过程的代码段

C专家编程 第1章 C:穿越时空的迷雾 1.9 阅读ANSI C标准,寻找乐趣和裨益

使用deepstream消息发送功能的时候,检测框没有检测标签,No text labels of bboxes displayed with osd for deepstream-test5

TCP 可靠吗?为什么?

面试不再被吊打!这才是Redis分布式锁的七种方案的正确打开方式
我写了个”不贪吃蛇“小游戏

使用uniapp 封装一个request 请求

deepstresam的插件配置说明,通过配置osd,设置字体的背景为透明

Web3 安全风险令人生畏?应该如何应对?

正向代理与反向代理
随机推荐
如何设计大电流九线导电滑环
QT QT 】 【 to have developed a good program for packaging into a dynamic library
Auto Scaling 弹性伸缩(运维释放人力)
正向代理与反向代理
Yuan xiaolin: Volvo focus on travel security, and put it perfectly
Web3 安全风险令人生畏?应该如何应对?
EasyExcel实现动态列解析和存表
自动化部署+整合SSM项目
【There is no tracking information for the current branch. Please specify which branch you want to 】
Hannah荣获第六季完美童模全球总决赛全球人气总冠军
yolov5s用自己的数据集进行训练模型
请问下这个hologres维表是被缓存了么?怎么直接Finished了
Kubernetes 笔记 / 目录
TiKV & TiFlash accelerate complex business queries丨TiFlash application practice
大佬们。使用flink-cdc-sqlserver 2.2.0 版本读取sqlserver2008R
Tolstoy: There are only two misfortunes in life
测试测试测试
Windows 事件查看器记录到 MYSQL
如何在 DataWorks 中 写SQL语句监控数据的变化到达一定的值 进行提示
世界顶级级架构师编写2580页DDD领域驱动设计笔记,属实有牌面