Largest Number After Mutating Substring
👉

Largest Number After Mutating Substring

Difficulty
Medium
Num
1946
Tag
Solution
Python
Text
 

题解

这个问题的关键是找到数字字符串中的第一个子串,这个子串的每一位都可以通过变换变得更大。我们从左到右遍历数字字符串,如果当前的数字小于变换后的数字,我们就进行变换,并将标志位设为 True。如果当前数字等于变换后的数字,我们就继续遍历。但是,如果我们已经开始了变换(即标志位为 True),并且当前的数字大于变换后的数字,我们就停止遍历。最后,我们返回变换后的数字字符串。
 

实现

class Solution(object): def maximumNumber(self, num, change): num = list(num) flag = False for i in range(len(num)): if int(num[i]) < change[int(num[i])]: num[i] = str(change[int(num[i])]) flag = True elif int(num[i]) == change[int(num[i])]: continue elif flag: break return ''.join(num)