How to check if the last index of an array is reachable by jumping based on element values from index 0 in Scala

1 Answer

0 votes
object JumpArray {

  def canReachLastIndex(arr: Array[Int]): Boolean = {
    val size = arr.length
    var currentIndex = 0

    while (currentIndex < size) {
      // If we reach the last index, return true
      if (currentIndex == size - 1) {
        return true
      }

      // If jump goes out of bounds, stop
      if (currentIndex + arr(currentIndex) >= size) {
        return false
      }

      // Move to the next index by jumping
      currentIndex += arr(currentIndex)
    }

    false
  }

  def main(args: Array[String]): Unit = {
    val arr = Array(2, 3, 1, 1, 4)

    if (canReachLastIndex(arr)) {
      println("Yes, we can reach the last index.")
    } else {
      println("No, we cannot reach the last index.")
    }
  }
}




/*
run:

Yes, we can reach the last index.

*/

 



answered Dec 1, 2025 by avibootz

Related questions

...