Posted on 2022-11-06 17:05
Uriel 阅读(63)
评论(0) 编辑 收藏 引用 所属分类:
字符串处理 、
闲来无事重切Leet Code
给一个字符串,每次可以把头k位的其中一个字符调至字符尾端,操作次数不限,问可以得到的字典序最小的字符串是什么
若k=1,O(n^2),模拟每次挪一位去末尾然后求最小可能
若k>2,则理论上可以实现任意交换元素位置,那只要把string转为list直接sort输出
1 #899
2 #Runtime: 38 ms
3 #Memory Usage: 13.4 MB
4
5 class Solution(object):
6 def orderlyQueue(self, s, k):
7 """
8 :type s: str
9 :type k: int
10 :rtype: str
11 """
12 if k == 1:
13 t = s
14 for i in range(1, len(s)):
15 if t > s[i : ] + s[0 : i]:
16 t = s[i : ] + s[0 : i]
17 else:
18 t = ''.join(sorted(list(s)))
19 return t