去哪儿2015笔试题JAVA实现

我与影子孤独终老i 提交于 2020-04-01 03:13:46

 

第一题代码:

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

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));
		
	}

}

  

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!