402. Remove K Digits - LeetCode Solution


Greedy Stack

Python Code:

class Solution:
    def removeKdigits(self, num: str, k: int) -> str:


        stack = []

        for i in range(len(num)):
            while stack and int(stack[-1]) > int(num[i]) and k:
                k-=1
                stack.pop()

            stack.append(num[i])


        while k:
            stack.pop()
            k-=1

        if  len(stack) == 0:
            return "0"
        else:

            a = int("".join(stack))


            return str(a)


Comments

Submit
0 Comments
More Questions

1154A - Restoring Three Numbers
750A - New Year and Hurry
705A - Hulk
492B - Vanya and Lanterns
1374C - Move Brackets
1476A - K-divisible Sum
1333A - Little Artem
432D - Prefixes and Suffixes
486A - Calculating Function
1373B - 01 Game
1187A - Stickers and Toys
313B - Ilya and Queries
579A - Raising Bacteria
723A - The New Year Meeting Friends
302A - Eugeny and Array
1638B - Odd Swap Sort
1370C - Number Game
1206B - Make Product Equal One
131A - cAPS lOCK
1635A - Min Or Sum
474A - Keyboard
1343A - Candies
1343C - Alternating Subsequence
1325A - EhAb AnD gCd
746A - Compote
318A - Even Odds
550B - Preparing Olympiad
939B - Hamster Farm
732A - Buy a Shovel
1220C - Substring Game in the Lesson