笔试题--字符串处理(3)

    xiaoxiao2026-03-03  8

    /**  * Catcher是MCA国的情报员,他工作时发现敌国会用一些对称的密码进行通信,  * 比如像这些ABBA,ABA,A,123321,但是他们有时会在开始或结束时加入一些无关的字符以防止别国破解。  * 比如进行下列变化 ABBA->12ABBA,ABA->ABAKK,123321->51233214 。  * 因为截获的串太长了,而且存在多种可能的情况(abaaab可看作是aba,或baaab的加密形式),  * Cathcer的工作量实在是太大了,他只能向电脑高手求助,你能帮Catcher找出最长的有效密码串吗?  输入:   字符串-密码内容 输出:  整形数-有效密码串最大长度 样例输入:    ABBA 样例输出:    4  */ import java.util.Scanner; public class InterceptPassword {     public static void main(String[] args) {         Scanner sc=new Scanner(System.in);         String str=sc.nextLine();         sc.close();         char[] ch=str.toCharArray();         System.out.println(subPWD(ch));     }     public static int subPWD(char[] ch)     {         int max=1;         int ind=0;         char[] ch2=new char[ch.length];         for(int i=ch.length-1;i>=0;i--)         {             ch2[ind++]=ch[i];         }         for(int m=0;m<ch.length;m++)         {             for(int n=0;n<ch.length;n++)             {                 if(ch[m]==ch2[n])                 {                     int count=1;                     int l=m;                     int k=n;                     while(l<ch.length-1&&k<ch.length-1)                     {                         if(ch[++l]==ch2[++k])                         {                             count++;                         }                         else                         {                             break;                         }                     }                     if(count>max)                     {                         max=count;                     }                 }             }                      }     return max;      } }
    转载请注明原文地址: https://ju.6miu.com/read-1307585.html
    最新回复(0)