2020CVTE笔试web后台编程题
编程题第二题
小C正在玩一个垂直跳云梯的游戏,该云梯总共有n层,每一层都拥有各自的buff加成,buff值代表了站在这一层云梯的最大上跳距离,比如对于第2层云梯,buff值为3,代表了当站在第2层时,最大可以上跳到第五层,游戏规定在跳跃过程中只能向上跳,当buff值为0时表示不能继续向上跳。
现在小C站在第一层云梯上,计算一下他能否跳跃到顶层吧?
(注:我们使用一个非负的数组buff[]来表示云梯,数组大小为n)
样例1
输入:[3,2,5,1,1]
输出:true
样例2
输入:[3,2,1,0,5,1]
输出:false
以下是我个人的解答
import java.awt.Window.Type;
public class Kaoshi {
public boolean cloundLadderGame(int[] buff){
int cengShu = buff.length;
System.out.println(cengShu);
int nextCeng = 1;
boolean flag = false;
while(nextCeng<cengShu) {
if(buff[nextCeng-1]!=0) {
nextCeng = nextCeng + buff[nextCeng-1];
}else {
break;
}
}
//System.out.println(nextCeng);
if(nextCeng >= buff.length) {
flag = true;
}else {
flag = false;
}
return flag;
public static void main(String[] args) {
Kaoshi k = new Kaoshi();
int[] b = {3,2,1,0,5,1};
int[] a = {3,2,5,1,1};
System.out.println(k.cloundLadderGame(a));
System.out.println(k.cloundLadderGame(b));
}
}