2020CVTE笔试web后台编程题

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

}
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值