/**
* 弹出k个元素,使得当前数组中的数最小
*/
string removeKdigits(string numbers, int k)
{
string result;
vector<int> myStack;
for (int i = 0; i < numbers.length();i++)
{
int number = numbers[i] - '0';
while (myStack.size() && myStack[myStack.size() - 1] > number && k)
{
myStack.pop_back();
k--;
}
if (myStack.size() || number)
{
myStack.push_back(number);
}
}
while (myStack.size() && k)
{
myStack.pop_back();
k--;
}
for (int i = 0; i < myStack.size(); i++)
{
result.append(1, myStack[i] + '0');
}
if (result == "")
{
result = "0";
}
return result;
}
贪心算法之移除K个数字使得当前数字最小
最新推荐文章于 2022-11-26 19:53:25 发布