程序,可在Python中一键查找按字典顺序最小的字符串
假设我们有一个字符串s,如果我们可以在给定字符串s中的两个字符之间最多进行一次交换,则必须找到在字典上最小的字符串。
因此,如果输入类似于“zyzx”,则输出将为“xyzz”
为了解决这个问题,我们将遵循以下步骤-
temp:=一个大小为s的数组,并用0填充
m:=s的大小-1
对于范围s-1至-1的i,将其减小1,
a:=temp[i]
如果s[a]与s[i]不同,则
返回s的子字符串[从索引0到i]并置s[a]并置s的子字符串[从索引i+1到a]并置s[i]并置s的子字符串[从索引a+1到末尾]
m:=我
如果s[i]<s[m],则
temp[i]:=m
对于0到s大小的范围内的i,执行
返回s
示例
class Solution:
def solve(self, s):
temp = [0]*len(s)
m=len(s)-1
for i in range(len(s)-1, -1, -1):
if s[i]<s[m]: m=i
temp[i] = m
for i in range(len(s)):
a = temp[i]
if s[a] != s[i]:
return s[:i]+s[a]+s[i+1:a]+s[i]+s[a+1:]
return s
ob = Solution()print(ob.solve("zyzx"))输入值
zyzx
输出结果
xyzz
热门推荐
10 新年门口花束祝福语简短
11 盘锦结婚祝福语大全简短
12 父母生日祝福语 简短独特
13 家庭恩爱祝福语简短英文
14 高考俄语祝福语大全简短
15 虎年祝福语 诗句唯美简短
16 生日婚礼祝福语简短精辟
17 虎年喝酒拜年祝福语简短
18 教师闺蜜祝福语简短