当前位置:网站首页>【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 <= 1000
s
只由小写字母组成。
思路
- 若 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)
边栏推荐
- deepstresam的插件配置说明,通过配置osd,设置字体的背景为透明
- MySQL窗口函数 OVER()函数介绍
- TypeScript文件的编译执行
- [Unity Starter Plan] Making RubyAdventure01 - Player Creation & Movement
- Analysis of ffplay video playback principle
- 使用Stream多年,collect还有这些“骚操作”?
- Windows 事件转发到 SQL 数据库
- C专家编程 第1章 C:穿越时空的迷雾 1.11 轻松一下---由编译器定义的Pragmas效果
- When mobile applications go overseas, is your "network optimization" holding back?
- Why do I strongly recommend using smart async?
猜你喜欢
[Unity Getting Started Plan] Basic Concepts (8) - Tile Map TileMap 02
2年开发经验去面试,吊打面试官,即将面试的程序员这些笔记建议复习
Components of communication - the drop-down menu
[Unity Getting Started Plan] Basic Concepts (8) - Tile Map TileMap 01
error:Illegal instruction (core dumped),离线下载安装这个other版本numpy
使用.NET简单实现一个Redis的高性能克隆版(一)
Analysis of ffplay video playback principle
Web3 安全风险令人生畏?应该如何应对?
使用Stream多年,collect还有这些“骚操作”?
leetcode:187. 重复的DNA序列
随机推荐
MySQL相关介绍
Introduction to spark learning - 1
uniapp隐藏导航栏和横屏显示设置
兄弟组件通信context
如何使用MATLAB绘制极坐标堆叠柱状图
可复现、开放科研、跨学科合作:数据驱动下的科研趋势及应用方案
When mobile applications go overseas, is your "network optimization" holding back?
滑环安装注意事项
C专家编程 第2章 这不是Bug,而是语言特性 2.2 多做之过
#夏日挑战赛#【FFH】OpenHarmony设备开发基础(四)启动流程
uniapp的webview滑动缩放
罗克韦尔AB PLC RSLogix5000中创建新项目、任务、程序和例程的具体方法和步骤
面了个腾讯35k出来的,他让我见识到什么叫精通MySQL调优
Which thread pool does Async use?
leetcode:189. 轮转数组
socket快速理解
C# 获取文件名和扩展名(后缀名)
Async的线程池使用的哪个?
组件通信-父传子组件通信
devops-2:Jenkins的使用及Pipeline语法讲解