题目
分析
本题难度不大,基本思路是:
- 读入各个数,计算它(
current)和前一个数(prev)的差的绝对值(d)。 - 判定差值的合理范围。根据题意,\(1\le d\le (n-1)\)。在这个范围内的差值才能在差值数组中做标记。
- 最后遍历差值数组,看看是不是有某个差值没出现(
!diff[i])。只要有一个差值没有出现,就不会是个“欢乐的跳”。
for (int i = 1; i <= n - 1; i++)
{
if (!diff[i])
{
jolly = false;
break;
}
}
注意特殊情况:如果只有一个数字,按照题意(以及试错),应该返回Jolly。另外,题意中约定不会出现差值0,所以在判定差值是否都存在的时候,不用判定d[0]。
答案

思考
(略)
