Python Solution
Intuition\n Describe your first thoughts on how to solve this problem. \n\n# Approach\n Describe your approach to solving the problem. \n\n# Complexity\n- Time 
# Intuition\n<!-- Describe your first thoughts on how to solve this problem. -->\n\n# Approach\n<!-- Describe your approach to solving the problem. -->\n\n# Complexity\n- Time complexity:\nO(n)\n\n- Space complexity:\nO(n)\n\n# Code\n```\nclass Solution:\n    def getSmallestString(self, s: str, k: int) -> str:\n\n        ans = ""\n\n        for i in range(len(s)):\n\n            newOrder = ord(s[i])-96\n            \n            if k <=0:\n\n                ans+=s[i]\n\n            elif 27 - newOrder <= k or newOrder-1 <=k:\n\n                ans+="a"\n\n                k-=min((27-newOrder),newOrder-1)\n\n            else:\n\n                ans+=chr(96+(newOrder-k))\n                \n                k=0\n\n        return ans\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n             \n\n\n        \n```
['Python3']