
最小新整数c++
/s[i]~s[mi-1]都删掉,删掉了mi-i个元素。if(k == len-i)//如果剩下的元素个数只有k个,那么都删掉。int mi = i;//求i~i+k的最小值下标。//解法1:每次找k+1个数中的最小值。
//解法1:每次找k+1个数中的最小值
#include<bits/stdc++.h>
using namespace std;
#define N 15
int main()
{
int k, t;
char s[N], a[N];
cin >> t;
while(t--)
{
cin >> s >> k;
int an = 0, len = strlen(s), i = 0;
while(i < len)
{
if(k == len-i)//如果剩下的元素个数只有k个,那么都删掉
break;
int mi = i;//求i~i+k的最小值下标
for(int j = i; j <= i+k; ++j)
{
if(s[j] < s[mi])
mi = j;
}
a[++an] = s[mi];
k -= mi - i;//s[i]~s[mi-1]都删掉,删掉了mi-i个元素
i = mi + 1;
}
for(i = 1; i <= an; ++i)
cout << a[i];
cout << endl;
}
return 0;
}
更多推荐
所有评论(0)