首页 > 代码库 > 去哪儿2015笔试题JAVA实现

去哪儿2015笔试题JAVA实现

 

第一题代码:

分析:将字符数组中的每个字符串,找出其中最长的那个与字符数组中长度进行比较:

a、当最长的字符串的长度大于等于字符数组的长度时,直接输出

b、当最长的字符串的长度小于字符数组的长度时,找出该长度下整数值最大的那个字符串,在前面部0输出

package com.njupt;public class Heia {		public String MaxLength(String[] string){		int max=Integer.valueOf(string[0]);		int index=0;		for(int i=1;i<string.length;i++){			int temp=Integer.valueOf(string[i]);			if(max<temp){				max=temp;				index=i;			}		}		if(string[index].length()>=string.length){			return string[index];		}		else{			String str="";			int tem=string.length-string[index].length();			for(int j=0;j<tem;j++){				str +="0";			}			str +=string[index];			return str;		}	}		public static void main(String[] args){		String[] string={"","2","0"};		Heia h=new Heia();		System.out.println(h.MaxLength(string));	}}

  

第二题代码:(代码可能还有点问题,等待修改)

import java.util.ArrayList;public class Test {		public void QuNaer(String string){				ArrayList<String> alist=new ArrayList<>();		string=string.trim();		String str=string.valueOf(string.charAt(0));		for(int i=1;i<string.length();i++){			if(string.charAt(i)==‘-‘){				str=str.trim();				alist.add(str);				str="-";			}			else{				if(string.charAt(i)!=‘ ‘){					str +=string.charAt(i);				}				else{					if(string.charAt(i-1)!=‘ ‘){						str +=" ";					}				}			}		}		str=str.trim();		alist.add(str);		System.out.println(alist);	}			public static void main(String[] args) {		// TODO Auto-generated method stub		String string="-name  Lily  -age 21     -school                         \"zhao                                        yan\"";		//String string ="    zhao   yan     ";		Test t=new Test();		t.QuNaer(string);	}}

  

第三题代码:

分析:因为该题的目标是如何使得字符串a通过添加或者减少一下字符,最终得到字符串b

注:字符串a=“bc“,字符串b=”cb“;要进行+c,-c操作

具体做法:

1、遍历字符串a,(当前a的位置为i);

2、判断字符串中第i个位置的字符(a.CharAt(i))是在b中存在;

    a、如果存在,从b第一个字符(j=0)开始查找第一个与字符串a当前位置i相等的字符,并b之前字符依次进行+b对应的字符b.CharAt(j),最后将b中      j+1位置前的字符都删除

    b、如果不存在,执行-a.CharAt(i)操作。

3、当遍历完字符串a时,判断字符串b中是否还有字符,一次执行+b.CharAt(j)。

package com.njupt;public class Cont {		public String diff(String a,String b){		String string="";		for(int i=0;i<a.length();i++){			String str=String.valueOf(a.charAt(i));			if(b.contains(str)){				int j=0;				//System.out.println(b.charAt(j)!=a.charAt(i));				while(b.charAt(j)!=a.charAt(i)){					string += "+"+b.charAt(j)+",";					++j;				}				b=b.substring(j+1);							}			else{				string += "-"+a.charAt(i)+",";			}			}		for(int i=0;i<b.length();i++){			string += "+"+b.charAt(i)+",";		}		return string;	}	/**	 * @param args	 */	public static void main(String[] args) {		// TODO Auto-generated method stub		String string1="abaced";		String string2="dabababacdb";		Cont c= new Cont();		System.out.println(c.diff(string1, string2));		//System.out.println(string1.substring(1));			}}

  

去哪儿2015笔试题JAVA实现