根据输入的字符串,判断并输出有效的字符串的长度,和该字符串。vc++
来源:互联网 发布:网络加速器免费版下载 编辑:程序博客网 时间:2024/05/20 16:11
题目的大概描述是这样的:
有一段字符串设置为密码,要求输入的字符串最长的对称的字符串 为 有效密码。
比如 输入 aba, aa, abba, w2gtttg1, abaaab 等,其有效密码分别为:aba, aa, abba, gtttg, baaab.
下面是我写的实现代码,工作环境是VC6.0. (希望高手多多指教~)
// test.cpp : Defines the entry point for the console application.
//#include "stdafx.h"#include <iostream>#include <string>#include <stdlib.h>using namespace std;void getValidString(const std::string inputStr, std::string& outputStr, int& length);int main(int argc, char* argv[]){//printf("Hello World!\n"); std::string inputStr;cin >> inputStr;std::string outputStr;int length = 0;getValidString(inputStr, outputStr, length);cout << outputStr << " - " << length << endl;return 0;}void getValidString(const std::string inputStr, std::string& outputStr, int& length){int inLen = inputStr.length();length = 0;if (inLen <= 0){return;}for (int i=0; i<inLen; ++i){for (int j=0; j<(inLen-i)/2; ++j){bool isCode1 = false;bool isCode2 = false;// check if the current check subString is the valid code stringfor (int k=0; k<=j; k++){// check second mode: ababaif (i+j+k+2 >= inLen){isCode2 = false;break;}if(inputStr[i+j-k] == inputStr[i+j+k+2]){isCode2 = true;}else{isCode2 = false;break;}}// get the valid string and lengthif (isCode2 && 2*(j+1) + 1 > length){length = 2*(j+1) + 1;outputStr = inputStr.substr(i, length);}else {for (int k=0; k<=j; k++){// check first mode:abbaif(inputStr[i+j-k] == inputStr[i+j+k+1]){isCode1 = true;}else{isCode1 = false;break;}}if(isCode1 && 2*(j+1) > length){length = 2*(j+1);outputStr = inputStr.substr(i, length);}} //end of esle}//end of for j}//end of for i}
0 0
- 根据输入的字符串,判断并输出有效的字符串的长度,和该字符串。vc++
- 输入一个字符串,输出该字符串中对称的子字符串的最大长度。
- 输入一个字符串,输出该字符串中对称的子字符串的最大长度。
- 求已知字符串的最大回文字符串长度,并输出该字符串
- 输入一个字符串,输出该字符串中最大对称子串的长度
- 通过键盘输入一个字符串,判断字符串中出现最多的字符并输出该字符和输出出现次数
- JS 判断输入字符串的长度
- 判断字符串的长度
- 输入字符串和输出字符串的方法
- c++输入字符串和子字符串 输出子字符串在字符串中出现的次数 并输出字符串中的字母
- 字符串的输入和输出
- 输入一个表示整数的字符串,把该字符串转换成整数并输出
- 20、输入一个表示整数的字符串,把该字符串转换成整数并输出
- 输入一个表示整数的字符串,把该字符串转换成整数并输出
- 20.输入一个表示整数的字符串,把该字符串转换成整数并输出
- 20.输入一个表示整数的字符串,把该字符串转换成整数并输出。
- 输入一个表示整数的字符串,把该字符串转换成整数并输出
- 输入一个表示整数的字符串,把该字符串转换成整数并输出。
- 耦合与内聚
- A星算法(游戏寻路算法)的C++实现
- AIX makefile去除文本行尾^M
- Linux下的多线程编程
- ansi common lisp 第二章 笔记
- 根据输入的字符串,判断并输出有效的字符串的长度,和该字符串。vc++
- module_param_call宏的作用解析 cmdline解析分析
- nyoj171
- 表现与数据分离;前台MVC
- 试图分辨传值还是传引用
- grep命令的用法
- oracle中split的使用
- SQL Server 2008数据库备份还原和数据恢复
- ASP.NET实现回调实现的步骤