跳到主要内容

3106.满足距离约束且字典序最小的字符串

链接:3106.满足距离约束且字典序最小的字符串
难度:Medium
标签:贪心、字符串
简介:你可以对字符串 s 执行 任意次 操作。在每次操作中,可以将 s 中的一个字母 改变 为 任意 其他小写英文字母。返回一个字符串,表示在执行一些操作后你可以得到的 字典序最小 的字符串 t ,且满足 distance(s, t) <= k 。

题解 1 - python

  • 编辑时间:2024-07-27
  • 执行用时:48ms
  • 内存消耗:16.46MB
  • 编程语言:python
  • 解法介绍:贪心遍历。
class Solution:
def getSmallestString(self, s: str, k: int) -> str:
arr = list(s)
orda = ord('a')
for i in range(len(arr)):
ordc = ord(arr[i])
min_to_a = min(ordc - orda, orda + 26 - ordc)
if min_to_a <= k:
arr[i] = 'a'
k -= min_to_a
else:
ordc -= orda
arr[i] = chr(orda + min(ordc - k, (ordc + k) % 26))
break
return ''.join(arr)