当前位置:   article > 正文

华为OD机试题:字符串变换最小字符串_给定一个字符串s,最多只能进行一次变换

给定一个字符串s,最多只能进行一次变换

题目描述:

给定一个字符串s,最多只能进行一次变换,返回变换后能得到的最小字符串(按照字典序进行比较)。
变换规则:交换字符串中任意两个不同位置的字符。



输入描述:

一串小写字母组成的字符串s



输出描述:

按照要求进行变换得到的最小字符串
备注:

s是都是小写字符组成
1<=s.length<=1000



示例

1.输入:

abcdef
输出:abcdef
说明:

abcdef已经是最小字符串,不需要交换
2.输入:

bcdefa
输出:acdefb
说明:

a和b进行位置交换,可以得到最小字符串

  1. #解题想法:示例很容易写,但突然想到“ababab”这种,该把第二个b跟后面哪个a切换
  2. 通过验证“aaabbb”<"aabbab"的正确性(也就等同于数字比较111999<119919),
  3. 所以应该从最后一个最小值切换
  4. while 1:
  5. try:
  6. #测试用例: "ababab","abcdef","bcdefa"
  7. s="ababab"
  8. l=list(s)
  9. t=-1
  10. for i in ra
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/正经夜光杯/article/detail/769501
推荐阅读
相关标签
  

闽ICP备14008679号