算法-每天一道题(22)-求最大数-字符串处理

输入为两行内容,第一行是正整数number,注意可能是很大的。第二行是希望去掉的数字数量。

输出

输出保留下来的结果。

样例输入

325

1

样例输出

35

Python

import sys

def getValue():
    while True:
        line = raw_input()
        line = list(line)
        num_list = []
        for i in line:
            num_list.append(int(i))
        num_count = input()

        for i in xrange(num_count):
            temp_min = 99
            temp_len = len(num_list)
            for item in num_list:
                if item <= temp_min:
                    temp_min = item
                else:
                    num_list.remove(temp_min)
                    break
            # remove the min number
            if temp_len == len(num_list):
                num_list.remove(temp_min)

        temp_str = ""
        for item in num_list:
            temp_str = temp_str + str(item)
        print temp_str

if __name__ == '__main__':
    getValue()

'''
解题思路:

从开头找数,如果找到的数比上一个数(定义开始时上一个数无限大)大,那么就删除上一个数
需要注意的时,可能存在所有数为降序的情况,那么:
根据原流程就不会删除任何一个数。
需要比较,经过删数之后的列表长度是否和原始列表长度一样,如果一样,就删除其中最小的那个数
'''

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部