无法理解此初学者Java ArrayList问题

时间:2018-10-12 16:54:28

标签: java arraylist

我只是很难理解这个问题。我不是在寻求解决方案。你能帮我解决问题的根源吗?

  
      
  • 在这个问题上,一个数组代表一个不寻常的棋盘游戏上的方块。

  •   
  • 正数索引表示向前移动的指令(例如2表示

  •   
  • “向前移动2个正方形”)。负索引意味着向后移动。

  •   
  • 具有0的平方是“末端位置”。一旦到达那里,就不可能再移动了。

  •   
  • 给出一个板和一个起始位置(索引),该功能的目标

  •   
  • 用于计算到达终点的路径。

  •   
  • 您可以假设:
      一种。指示永远不会使您脱离常规
      b。该路径将没有任何循环(我们将在问题的下一部分解决此问题)。

  •   
  • 从inputA中访问的索引的访问顺序开始,返回一个ArrayList,从ArrayList零位置的startLoc开始。
  •   
  • 示例:
      D
      computeBoardPathV1([2,-1,0], 1) --> <1,0,2>
      computeBoardPathV1([3,3,-2,0,-2], 1) --> <1,4,2,0,3>
      computeBoardPathV1([6,4,2,0,-1,-3,-5], 0) --> <0,6,1,5,2,4,3>
      computeBoardPathV1([6,4,2,0,-1,-3,-5], 4) --> <4,3>
  •   
computeBoardPathV1([0], 0) --> <0>

2 个答案:

答案 0 :(得分:1)

computeBoardPathV1函数应该返回从给定起点到数组终点的步骤列表。

让我们看一下给定的示例:  *示例:computeBoardPathV1([2,-1,0],1)-> <1,0,2>

给定的数组为[2,-1,0]。第二个参数是起点1。

这是应该发生的事情

  • 将当前位置(1)保存到结果列表中。
  • 数组元素1的值为-1。 (不要忘记数组从索引0开始)
  • 在当前位置加-1可获得0
  • 将当前位置(0)保存到结果列表中。
  • 数组元素0的值为2
  • 在当前位置(0)加2得到2
  • 将当前位置(2)保存到结果列表中
  • 数组元素2为0,我们完成了。

结果列表现在包含:[1、0、2]

另一个例子: computeBoardPathV1([6,4,2,0,-1,-3,-5],4)-> <4,3>

  • 起始索引为4
  • 将当前位置(4)保存到结果列表中
  • 数组元素4为-1
  • 在当前位置加-1可获得3
  • 将当前位置(3)保存到结果列表中
  • 数组元素3为0,我们完成了。

在这种情况下,结果列表为[4,3]

答案 1 :(得分:0)

他们要问的是打印阵列的行进方式;即按照数组每个元素中声明的说明访问数组的哪个位置...

例如, computeBoardPathV1([2,-1,0],1)->告诉您必须从数组元素1中声明的指令开始...然后读取该元素的值,执行移至数组的左边增加一个元素,然后再次阅读,指令说向右边移动2个空格...

解决方案是:<1,0,2>