1 题目
给你一个以字符串表示的非负整数 num 和一个整数 k ,移除这个数中的 k 位数字,使得剩下的数字最小。请你以字符串形式返回这个最小的数字。
2 解析(1)从左开始遍历num (2)如果当前值都大于左边和右边的元素,就删除当前元素 (3)如果当前元素小于左边元素,就删除左边元素。 (4)用栈来记录左边的元素
3 Python实现class Solution:
def removeKdigits(self, num: str, k: int) -> str:
stack = []
remain = len(num) - k
# 如果提出的长度和字符串长度一样,一定返回是0
if len(num)==k:
return '0'
for n in num:
# 栈顶元素大,就删除栈顶,直到k为0
while k and stack and n
关注
打赏
热门博文
- 【文献汇总】2019-2021最新应用深度学习到OFDM通信系统中的论文汇总(实时更新)
- 【金融量化】电话口试-智力题
- 【数据挖掘】2022年2023届秋招爱玩特智能量化研究员岗 笔试题
- 【Leetcode刷题Python】1467. 两个盒子中球的颜色数相同的概率
- 【Leetcode刷题Python】50. Pow(x, n)
- 【Leetcode刷题Python】牛客. 数组中未出现的最小正整数
- 【Leetcode刷题Python】73. 矩阵置零
- 【Leetcode刷题Python】LeetCode 478. 在圆内随机生成点
- 【Leetcode刷题Python】 LeetCode 2038. 如果相邻两个颜色均相同则删除当前颜色
- 【数据挖掘】2022年2023届秋招Kanaries雾角科技算法岗 笔试题