class Solution: def removeknums(self, nums, k): """ 从表示数字的字符串中移除 k 个最小的数字。 :param nums: 表示数字的字符串 :param k: 需要移除的数字个数 :return: 移除 k 个最小数字后的字符串 """ s = [] # 遍历输入的数字字符串 for i in range(len(nums)): number = nums[i] # 当 s 不为空,且 s 的最后一个数字大于当前数字,且还需要移除数字时 while len(s) != 0 and s[len(s) - 1] > number and k > 0: s.pop(-1) # 移除 s 的最后一个数字 k -= 1 # 减少需要移除的数字计数 # 如果当前数字不为 '0' 或 s 不为空,则将当前数字添加到 s if number != '0' or len(s) != 0: s.append(number) # 如果还需要移除数字,继续从 s 的末尾移除 while len(s) != 0 and k > 0: s.pop(-1) # 移除 s 的最后一个数字 k -= 1 # 减少需要移除的数字计数 # 将 s 中的数字连接成一个字符串并返回 result = "".join(s) return result if __name__ == '__main__': S = Solution() print(S.removeknums("1432219", 2)) 返回结果:标签:__,数字,nums,--,number,len,算法,移除 From: https://blog.csdn.net/qq_68809241/article/details/143859889