java笔试题2015_去哪儿2015笔试题JAVA实现

1794ac3a0cacfef38a66a558b31fa8fe.png

ef290108f6417cbdfdb6c5b75fc367fa.png

第一题代码:

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

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

int temp=Integer.valueOf(string[i]);

if(max

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

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 alist=new ArrayList<>();

string=string.trim();

String str=string.valueOf(string.charAt(0));

for(int i=1;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

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

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

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值