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;
    }
    
    
  • 相关阅读:
    初识面向对象
    Git 子模块
    至今为止项目中遇到的问题
    vuex , 简单入(liao)门(jie)
    Git rebase
    Git
    js设计模式工厂模式
    vue slot
    Jquery学习,一道笔试题:关于表格【最近记】
    闭包与this学习
  • 原文地址:https://www.cnblogs.com/A-Little-Nut/p/8305057.html
Copyright © 2011-2022 走看看