小塔和小堡正在玩一个游戏,每一关都有一个分数。如果某人某一关分数比上一关高,但另一个人这一关分数比上一关低,那么他就可以嘲笑对方。如果两个人这一关游戏的分数都比上一关多,则增量更多的可以嘲笑对方;如果两个人这一关游戏的分数都比上一关少,则减量更少的可以嘲笑对方。只有当他们的增量相同或者减量相同时,才不会互相嘲笑。
例如,假设小塔第一关的分数为2,第二关的分数为8;小堡第一关的分数为5,第二关的分数为10,显然小堡增加的比小塔多,那么小堡就可以嘲笑小塔。
根据题意,考虑先相邻的数两两相减,计算差分数组(也就是增量数组)。
接下来问题变成求差分数组中最长的相等段。这个可以考虑用双指针获取。具体看代码实现~