package One;import java.io.*;import java.util.*;import java.text.*;import java.math.*;import java.util.regex.*;public class Main {    /*请完成下面这个函数,实现题目要求的功能    当然,你也可以不按照下面这个模板来作答,完全按照自己的想法来 ^-^    ******************************开始写代码******************************/    static int longestSubStrLength(String s1, String s2) {        int max_length = 0;        int temp = 0;        int shorter = ((s1.length() > s2.length()) ? 2 : 1);        char[] chars = ((s1.length() > s2.length()) ? s2.toCharArray() : s1.toCharArray());        String target;        if(shorter == 1) target = s2;        else target = s1;        StringBuilder builder = new StringBuilder();        for(int i=0; i<chars.length; i++){            builder.append(chars[i]);            temp++;            if(!target.contains(builder.toString()) && builder.length() > 1){                if(temp > max_length) max_length = temp - 1;                builder.deleteCharAt(0);                builder.deleteCharAt(builder.length() - 1);                temp -= 2;                i--;            }            else if(!target.contains(builder.toString())) {                temp--;                builder.deleteCharAt(0);            }        }        if(temp > max_length) max_length = temp;        return max_length;    }    /******************************结束写代码******************************/    public static void main(String[] args){        Scanner in = new Scanner(System.in);        int res;        String _s1;        try {            _s1 = in.nextLine().toLowerCase();        } catch (Exception e) {            _s1 = null;        }        String _s2;        try {            _s2 = in.nextLine().toLowerCase();        } catch (Exception e) {            _s2 = null;        }        res = longestSubStrLength(_s1, _s2);        System.out.println(String.valueOf(res));    }}同,只有87%...
点赞 1

相关推荐

鬼迹人途:你去投一投尚游游戏,服务器一面,第一个图算法,做完了给你一个策略题,你给出方案他就提出低概率问题,答不上当场给你挂
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务