#181. 检查有序数组相邻三元组差值

    ID: 181 Type: Default 1000ms 256MiB Tried: 0 Accepted: 0 Difficulty: (None) Uploaded By: Tags>codingbatAp-1gesp3一维数组循环结构

检查有序数组相邻三元组差值

检查相邻三元组

题目背景

聪聪最近在整理一些分数数据。他想找出其中是否有某些特定的模式。

题目描述

给定一个按升序排列的分数数组,如果数组中包含 33 个相邻的分数,它们之间(即这三个数中的最大值与最小值之差)相差至多为 22,则返回 true。例如,对于 {3, 4, 5}{3, 5, 5} 这样的三元组,应返回 true

输入格式

输入以如下格式从标准输入中给出。

score_1 score_2 ... score_n (表示一个整数数组,元素之间用空格分隔)

输出格式

输出以如下格式输出到标准输出中。

truefalse

样例

3 4 5
true
3 4 6
false
1 3 5 5
true

样例解释

样例 1: 数组为 [3, 4, 5]。这三个数是相邻的,且最大值 55 与最小值 33 之差为 53=25 - 3 = 2,满足条件(至多为 22),因此返回 true

样例 2: 数组为 [3, 4, 6]。这三个数是相邻的,但最大值 66 与最小值 33 之差为 63=36 - 3 = 3,不满足条件(至多为 22),因此返回 false

样例 3: 数组为 [1, 3, 5, 5]

  • 考虑相邻三元组 [1, 3, 5],最大值 55 与最小值 11 之差为 51=45 - 1 = 4,不满足条件。
  • 考虑相邻三元组 [3, 5, 5],最大值 55 与最小值 33 之差为 53=25 - 3 = 2,满足条件,因此返回 true

数据范围

每个测试用例的时间限制为 11 秒,内存限制为 10241024 MiB。