目录
题目
思路
Code
题目
题目内容:
一条跑道由下标 0 到 n-1 的格子组成,运动员从 0 出发。普通格值为 0,移动后前进 1 格;弹簧格值为 1,移动后前进 2 格;陷阱格值为 -1,一旦当前位置是陷阱就无法到达终点。求到达或越过终点所需的步数,无法到达时返回 -1。
输入描述:
输入一行整数数组 tiles,以空格或逗号分隔,1 <= tiles.length <= 100000,元素只可能是 -1、0、1。
输出描述:
输出到达终点的步数;途中踩到陷阱时输出 -1。
样例 1
输入:
0 1 0 0 0输出:
3说明:
从 0 走到 1,利用弹簧跳到 3,再走到终点 4,共 3 步。
思路
整体思路:每个位置的移动距离唯一,不存在路径选择,直接按规则模拟。
第一步:从坐标 0 和步数 0 开始。
第二步:当前位置为陷阱则立即失败,否则普通格前进 1、弹簧格前进 2。
第三步:每次移动后增加步数,直到位置达到或越过最后一个坐标。