|
发表于 2020-4-26 15:07:16
|
显示全部楼层
- # 思路:
- # 从左侧开始保留l-k(s_length)位
- # 从左侧0开始->右侧s_length-1 寻找最小的数字0-9,
- # 并提取作为结果的高位
- # 找到后保留作为新的0位,
- # 重复寻找new0位->l-(k-1),
- # 直到挑选出len(s)-k位为止
- # 将提取出的位数与剩余的原始字符串相加为结果
- def f383(s,k):
- min_num=""
- if k>=len(s):
- return 0
- s_length=len(s)-k #最终保留的位数
- for n in range(s_length):
- min_wei = int(s[0])
- for i in range(len(s)-(s_length-n-1)):
- if min_wei>int(s[i]):
- min_wei=int(s[i])
- s=s[s.find(str(min_wei))+1:]
- min_num+=str(min_wei)
- res=int(min_num)
- return res
- if __name__=="__main__":
- s="1432219"
- k=3
- print(f383(s,k))
- s="10200"
- k=1
- print(f383(s,k))
- s="10"
- k=2
复制代码 |
评分
-
查看全部评分
|