2019浦发春招续
今天在做剑指offer的题,还是来更新一下当时在浦发没有好好完成的机试的题目,给它画上一个完整的句号。
2.去掉字符串末尾的空格
字符串中有一个方法trim用于去掉字符串首尾空格,现修改trim的实现方法,以字符数组为参数,循环字符数组,比对空格,记录从尾部向前第一个不是空格字符的下标,然后进行截取,最后将其转为String类型返回。
private static String trimEnd(char[] value){
int len=value.length;
int st=0;
char []val=value;
while((st<len)&&(val[len-1]==' ')){
len--;
}
return ((st>0)||(len<value .length ))?new String(val).substring(st,len):new String(val);
}
3.喝汽水问题,一瓶汽水1元,两个空瓶可以换一瓶汽水,问20元可以喝多少瓶汽水。
首先找规律,1元1瓶,2元3瓶,3元5瓶,4元7瓶
定义瓶子数,空瓶数,用下面代码实现
private static int maxDrink(int n){
int total=n;
int empty=n;
while(empty>1){
total +=empty/2+empty%2;
empty=empty/2;
}
return total;
}