携程笔试,忘了判断了

package xiecheng;
import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;

public class Test1 {
/*
abcd
abdde
*/

/*请完成下面这个函数,实现题目要求的功能
当然,你也可以不按照下面这个模板来作答,完全按照自己的想法来 ^-^ 
******************************开始写代码******************************/
    static int longestSubStrLength(String s1, String s2) {
    	if(s1==null||s2==null) return 0;
        if(s1.length()==0||s2.length()==0) return 0;
        int[][] dp=new int[s1.length()+1][s2.length()+1];
        int max=0;
        for(int i=1;i<=s1.length();i++){
            for(int j=1;j<=s2.length();j++){
                if(s1.charAt(i-1)!=s2.charAt(j-1)){
                    dp[i][j]=0;
                }else{
                    dp[i][j]=dp[i-1][j-1]+1;
                    if(dp[i][j]>max) {
                    	max=dp[i][j];
                    }
                }
            }
        }
        return max;
    }
/******************************结束写代码******************************/


    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        int res;
            
        String _s1;
        try {
            _s1 = in.nextLine();
        } catch (Exception e) {
            _s1 = null;
        }
        
        String _s2;
        try {
            _s2 = in.nextLine();
        } catch (Exception e) {
            _s2 = null;
        }
        res = longestSubStrLength(_s1, _s2);
        System.out.println(String.valueOf(res));    

    }
}
忘了判断s1==null||s2==null
第二题:
package xiecheng;
import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;

public class Test2 {


/*请完成下面这个函数,实现题目要求的功能
当然,你也可以不按照下面这个模板来作答,完全按照自己的想法来 ^-^ 
******************************开始写代码******************************/
    static String sortVersion(String s1, String s2) {
        String[] str1=s1.split("\\.");
        String[] str2=s2.split("\\.");
        
        LinkedList<Integer> list1=new LinkedList<Integer>();
        LinkedList<Integer> list2=new LinkedList<Integer>();
        for(int i=0;i<str1.length;i++){
            list1.add(Integer.valueOf(str1[i]));
        }
        for(int i=0;i<str2.length;i++){
            list2.add(Integer.valueOf(str2[i]));
        }
       
        while(!list1.isEmpty()&&!list2.isEmpty()){
            if(list1.peek()<list2.peek()){
                return s1+","+s2;
            }else if(list1.peek()>list2.peek()){
                return s2+","+s1;
            }
            list1.remove();
        	list2.remove();
        }
        if(!s1.isEmpty()&&s2.isEmpty()){
            return s2+","+s1;
        }else if(!s2.isEmpty()&&s1.isEmpty()){
            return s1+","+s2;
        }else {
        	return s1+","+s2;
        }
    }
/******************************结束写代码******************************/


    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        String res;
            
        String _s1;
        try {
            _s1 = in.nextLine();
        } catch (Exception e) {
            _s1 = null;
        }
        
        String _s2;
        try {
            _s2 = in.nextLine();
        } catch (Exception e) {
            _s2 = null;
        }
  
        res = sortVersion(_s1, _s2);
        System.out.println(res);
    }
}

#携程##笔试题目#
全部评论
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%...
点赞 回复 分享
发布于 2019-09-05 07:15
第三题直接暴力可以AC
点赞 回复 分享
发布于 2019-09-04 23:51
帖子循环依赖了😂
点赞 回复 分享
发布于 2019-09-04 23:49
第一题只过了87
点赞 回复 分享
发布于 2019-09-04 23:49
第三题求答案,这样过了67% import java.util.*; public class Test3 { // 2 3 -2 4  判断这个数组的最大连续乘积 //要判断负号的连续 public static void main(String[] args) { Scanner sc=new Scanner(System.in);     String[] str=sc.nextLine().split(" ");     int[] arr=new int[str.length];     int temp=1;     int sum=Integer.MIN_VALUE;     for(int i=0;i<str.length;i++) {      arr[i]=Integer.valueOf(str[i]);      temp=arr[i]*temp;      if(temp>sum) {      sum=temp;      }      if(temp<0) {      temp=1;      }     }     System.out.println(sum);     sc.close(); }   }
点赞 回复 分享
发布于 2019-09-04 23:46

相关推荐

绝迹的星:前端和后端写两份简历, 如果想干全栈就直接写求职意向为全栈工程师
点赞 评论 收藏
分享
半解316:内容充实,细节需要修改一下。 1,整体压缩为一页。所有内容顶格。 2,项目描述删除,直接写个人工作量 修改完之后还需要建议,可以私聊
点赞 评论 收藏
分享
07-10 13:59
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
5
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务