zoukankan      html  css  js  c++  java
  • PAT 1040. Longest Symmetric String

    Given a string, you are supposed to output the length of the longest symmetric sub-string. For example, given "Is PAT&TAP symmetric?", the longest symmetric sub-string is "s PAT&TAP s", hence you must output 11.

    Input Specification:

    Each input file contains one test case which gives a non-empty string of length no more than 1000.

    Output Specification:

    For each test case, simply print the maximum length in a line.

    Sample Input:

    Is PAT&TAP symmetric?
    

    Sample Output:

    11
    

    分析
    本题不难,在遍历时可以压缩一下

    #include<iostream>
    using namespace std;
    string s;
    bool issymmetric(int i,int j){
    	while(i!=j){
    		if(s[i]!=s[j]) return false;
    		if(j-i==1) break; //如果是偶数对称的话
                    i++; j--;
    	}
    	return true;
    }
    int main(){
    	getline(cin,s);
    	int max_len=1;
    	for(int i=0;i<s.size()-max_len;i++){
    		char c=s[i];
    	    for(int j=s.size();j>i+max_len-1;j--){
    	    	if(s[j]==c&&issymmetric(i,j)==true){
    	    	   max_len=j-i+1>max_len?j-i+1:max_len;	
    		}	
    	   }
    	} 
    	cout<<max_len<<endl;
    	return 0;
    }
    
    
  • 相关阅读:
    消息传递协议
    TSL 访问器
    graph engine
    uwp 动画Storyboard
    iOS播放视频时候,忽略设备静音按钮
    Could not find Developer Disk Image
    GIT常用命令
    iOS 音频播放时听筒及扬声器切换
    iOS 9:ATS
    iOS设计模式
  • 原文地址:https://www.cnblogs.com/A-Little-Nut/p/8305057.html
Copyright © 2011-2022 走看看