Posted on 2022-11-06 17:05
Uriel 閱讀(79)
評論(0) 編輯 收藏 引用 所屬分類:
字符串處理 、
閑來無事重切Leet Code
給一個字符串,每次可以把頭k位的其中一個字符調(diào)至字符尾端,操作次數(shù)不限,問可以得到的字典序最小的字符串是什么
若k=1,O(n^2),模擬每次挪一位去末尾然后求最小可能
若k>2,則理論上可以實現(xiàn)任意交換元素位置,那只要把string轉(zhuǎn)為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