zoukankan      html  css  js  c++  java
  • leetcode——402. 移掉K位数字

    class Solution(object):
        def removeKdigits(self, num, k):
            """
            :type num: str
            :type k: int
            :rtype: str
            """
            if k>=len(num):
                return '0'
            i=0
            j=1
            while k and j<len(num):
                while num[0]=='0':
                    num=num[1:]
                if num[j]>num[i]:
                    #if j==len(num)-1:
                        #num=num[:j]
                    while j<len(num)-1 and num[j+1]>=num[j]:
                        j+=1
                    num=num[:j]+num[j+1:]
                    k-=1
                elif num[j]<num[i]:
                    num = num[:i]+num[i + 1:]
                    k-=1
                else:
                    while j<len(num) and num[i]==num[j] :
                        i+=1
                        j+=1
                    if k and j==len(num):
                        while k:
                            num=num[:-1]
                            k-=1
                        return num
                    elif num[j] > num[i]:
                        while j < len(num) - 1 and num[j + 1] >= num[j]:
                            j += 1
                        num = num[:j] + num[j + 1:]
                        k -= 1
                    elif num[j] < num[i]:
                        num = num[:i]+num[i + 1:]
                        k -= 1
                i,j=0,1
            while num[0]=='0' and num!='0':
                num=num[1:]
            return num
    执行用时 :44 ms, 在所有 python 提交中击败了65.29%的用户
    内存消耗 :12.1 MB, 在所有 python 提交中击败了12.20%的用户
     
    这个是自己做的。。
    但是没有用到栈,,所以做法应该需要改进。
     
    ——2019.11.5
    我的前方是万里征途,星辰大海!!
  • 相关阅读:
    个人冲刺8
    个人冲刺7
    个人冲刺6
    个人冲刺5
    个人冲刺4
    个人冲刺阶段3
    个人冲刺阶段2
    课下作业1-扩展阅读
    随手快递app开发的第四天
    随手快递app开发的第三天
  • 原文地址:https://www.cnblogs.com/taoyuxin/p/11796692.html
Copyright © 2011-2022 走看看