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

1 Answer

0 votes
import Foundation

func canReachLastIndex(_ arr: [Int]) -> Bool {
    let size = arr.count
    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]
    }

    return false
}

func main() {
    let arr = [2, 3, 1, 1, 4]

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

main()



/*
run:

Yes, we can reach the last index.

*/

 



answered Dec 1, 2025 by avibootz

Related questions

...