贪心算法 |
---|
《贪心算法》Sarumans army(3069) |
《贪心算法》字典序尽可能小的字符串 Best Cow Line POJ(3617) |
Q:给定长度为N字符串,反复进行下列任意操作
从S字符串头部删除一个字符添加到T的尾部
从S字符串尾部删除一个字符添加到T的尾部
A:
比较头和尾的字符,注意利用begin和end+i,通过改变i来实现
#include<iostream>
using namespace std;
#define max 2000
int main()
{
char s[max + 1];
int n;
cin >> n;
cin >> s;
int a = 0, b = n - 1;
while (a <= b)
{
bool left;
for (int i = 0; a + i <= b; i++)
{
if (s[a + i] < s[b - i]) {
left = true;
break;
}
else {
left = false;
break;
}
}
if (left)cout << s[a++];
else cout << s[b--];
}cout <<'\n';
}