今天一定行


私信TA

用户名:uq_10585380137

访问量:2992

签 名:

Python苦手

等  级
排  名 780
经  验 3649
参赛次数 0
文章发表 72
年  龄 0
在职情况 学生
学  校
专  业 人工智能

  自我简介:

一位只会简单题,还妄图一行解的Noob

解题思路:贪心算法

注意事项:理解题意后注意限制要求,可优化

参考代码:

def cor(str_) :
   global cnt
   lst = list(str_)
   flag = 0  # 标志符
   for num in range(len(lst) - 1) :
       if lst[num] > lst[num + 1] :
           lst[num] = 0
           cnt += 1
           flag = 1
           break
   str_ = ''.join(map(str, lst)).replace('0', '')
   lst_.append(str_)
   if flag == 0 :  # 如果为0就是指这个结果里面每一个值都不比后一位小,就无法删减
       str_ = str_[:base]  # 所以此时只用把后面长于结果要求的位数删去即可
       lst_.append(str_)
   if cnt < k and len(str_) > base :  # 如果删减的值不达标且现在的长度大于要求的结果长度就继续进行删减
       cor(str_)


n = int(input())
for i in range(n) :
   m, k = input().split()
   k = int(k)
   base = len(m) - k  # 要求的结果长度
   cnt = 0
   lst_ = []
   cor(m)
   print(lst_[-1])

 

0.0分

1 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区

写的挺好,就是没使用代码格式
2023-03-03 17:12:17
  • «
  • 1
  • »