java删除数组末尾_java – 如何从数组中删除最后一个元素?

现在我正在使用递归回溯,我的任务是找到迷宫中最长的路径,质量表示为用坐标覆盖的字段,并且墙壁的坐标在文件中是酸痛的.

我已经制作了一个解析器来解析输入文件并构建墙,但我也将这个坐标存储在一个对象类型Coordinate的数组中,以检查是否有可能在下一个“蛇”上移动下一个“蛇”字段,然后我创建了这个方法,现在我已经明白我需要一个方法来从数组中删除最后一个坐标,当我使用回溯时,我该怎么办?目标不是使用数组列表或链表只有数组!

谢谢!

public class Coordinate {

int xCoord;

int yCoord;

Coordinate(int x,int y) {

this.xCoord=x;

this.yCoord=y;

}

public int getX() {

return this.xCoord;

}

public int getY() {

return this.yCoord;

}

public String toString() {

return this.xCoord + "," + this.yCoord;

}

}

public class Row {

static final int MAX_NUMBER_OF_COORD=1000;

Coordinate[] coordArray;

int numberOfElements;

Row(){

coordArray = new Coordinate[MAX_NUMBER_OF_COORD];

numberOfElements=0;

}

void add(Coordinate toAdd) {

coordArray[numberOfElements]=toAdd;

numberOfElements +=1;

}

boolean ifPossible(Coordinate c1){

for(int i=0;i

if(coordArray[i].xCoord==c1.xCoord && coordArray[i].yCoord==c1.yCoord){

return false;

}

}

return true;

}

}

解决方法:

由于Java数组是不可调整大小的,因此您必须将所有内容复制到一个新的更短的数组中.

Arrays.copyOf(original, original.length-1)

标签:backtracking,java,arrays,recursion

来源: https://codeday.me/bug/20191007/1869629.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值