去哪兒2015筆試題JAVA實現

 

第一題代碼:java

分析:將字符數組中的每一個字符串,找出其中最長的那個與字符數組中長度進行比較:數組

a、當最長的字符串的長度大於等於字符數組的長度時,直接輸出spa

b、當最長的字符串的長度小於字符數組的長度時,找出該長度下整數值最大的那個字符串,在前面部0輸出blog

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

}

  

第三題代碼:string

分析:由於該題的目標是如何使得字符串a經過添加或者減小一下字符,最終獲得字符串bclass

注:字符串a=「bc「,字符串b=」cb「;要進行+c,-c操做
import

具體作法:List

一、遍歷字符串a,(當前a的位置爲i);遍歷

二、判斷字符串中第i個位置的字符(a.CharAt(i))是在b中存在;

    a、若是存在,從b第一個字符(j=0)開始查找第一個與字符串a當前位置i相等的字符,並b以前字符依次進行+b對應的字符b.CharAt(j),最後將b中      j+1位置前的字符都刪除

    b、若是不存在,執行-a.CharAt(i)操做。

三、當遍歷完字符串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));
		
	}

}
相關文章
相關標籤/搜索