标签:
输入数据有多组,每组包含一个字符串s,且保证:1<=s.length<=1000.
对于每组数据,输出一个整数,代表最少需要删除的字符个数。
abcda google
2 2
首先保存s字符串,之后再保存其rs相反的字符串;
对其求最大子序列和,则结果就是回文串。
#include <iostream>#include <string>#include <vector>#include <algorithm>using namespace std;int getCommonSubsequenceLength(string s1, string s2){int len1 = s1.size();int len2 = s2.size();vector<vector<int>> vec(len1+1, vector<int>(len2+1, 0));for(int i = 1; i <= len1; ++i){for(int j = 1; j <= len2; ++j){if(s1[i-1] == s2[j-1]){vec[i][j] = vec[i-1][j-1]+1;}else{vec[i][j] = max(vec[i][j-1], vec[i-1][j]);}}}return vec[len1][len2];}int main(){string s;while(cin >> s){string s1 = s;reverse(s1.begin(), s1.end());cout << s.size() - getCommonSubsequenceLength(s, s1) << endl;}}
输入数据有多组,每组包含一个字符串s,且保证:1<=s.length<=1000.
对于每组数据,输出移位后的字符串。
AkleBiCeilD
kleieilABCD
#include <iostream>#include <string>#include <cctype>using namespace std;int main(){string s;while(cin >> s){int len = s.size();for(int i = len-1; i >= 0; --i){if(isupper(s[i])){for(int j = i; j <= len-2; ++j){if(isupper(s[j+1])){break;}else{int temp = s[j];s[j] = s[j+1];s[j+1] = temp;}}}}cout << s << endl;}return 0;}
输入包含多组测试数据。
对于每组测试数据:
N - 本组测试数据有n个数
a1,a2...an - 需要计算的数据
保证:
1<=N<=100000,0<=ai<=INT_MAX.
对于每组数据,输出两个数,第一个数表示差的绝对值最小的对数,第二个数表示差的绝对值最大的对数。
6 45 12 45 32 5 6
1 2
#include <iostream>#include <vector>#include <algorithm>using namespace std;int main(){int n;while(cin >> n){vector<int> vec(n,0);for(int i = 0; i < n; ++i){cin >> vec[i];}if(n == 0){cout << 0 << " " << 0 << endl;continue;}sort(vec.begin(), vec.end());if(vec[0] == vec[n-1]){int num = n*(n-1)/2;cout << num << " " << num << endl;continue;}int minNum = count(vec.begin(), vec.end(), vec[0]);int maxNum = count(vec.begin(), vec.end(), vec[n-1]);int maxCount = minNum * maxNum;int minError = vec[1] - vec[0];for(int i = 0; i < n-1; ++i){if(vec[i+1]-vec[i] < minError){minError = vec[i+1]-vec[i];}}int minCount = 0;for(int i = 0; i < n; ++i){for(int j = i+1; j < n; ++j){if(vec[j]-vec[i] == minError){minCount++;}}}cout << minCount << " " << maxCount << endl;}return 0;}
标签:
原文地址:http://www.cnblogs.com/pukaifei/p/5735533.html