我们有一系列高度,代表沿着步行小径的高度。给定数组中的开始/结束索引,请返回从开始索引开始到结束索引结束的“大”步数。我们将说,如果向上或向下为5或更大,则步幅将很大。 start和end索引都是开始

bigHeights({5, 3, 6, 7, 2}, 2, 4) → 1
bigHeights({5, 3, 6, 7, 2}, 0, 1) → 0
bigHeights({5, 3, 6, 7, 2}, 0, 4) → 1


我陷入了这个问题,无法继续进行
功能签名如下:
public int bigHeights(int[] heights, int start, int end){ }

最佳答案

您需要的策略非常简单:您只需要检查每对相邻的数字并计算“大”步骤的数量。

因此,您需要做的是:


将计数器初始化为零
从起始索引循环到比结束索引小一
比较每一步的heights [i]与heights [i + 1],如果差异为5或更大,则递增计数器
返回计数器的最终值


希望能给您足够的提示来解决问题...。

10-06 13:49