首页 > 试题广场 >

游游的平滑数列

[编程题]游游的平滑数列
  • 热度指数:247 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
游游得到了一个有 n 个数字的数列。
游游定义了 “平滑值”的概念:平滑值指任意两个相邻的数的差的绝对值的最大值。例如[1,2,5,7,8]的平滑值是3。
游游现在想知道,在只修改一个位置的数字(可以修改为任意值)或者不修改的情况下,数列的平滑值最小是多少?

输入描述:
第一行包含一个数字 ,代表数列的数字个数。
第二行包含 n 个数字,代表数列 a,数列中的数字满足


输出描述:
输出一个整数,代表数列最小的平滑值。
示例1

输入

3
1 3 4

输出

1

说明

将第一个数字修改为 3 ,平滑值变为 1,可以证明这是最优的方案之一。
示例2

输入

5
-1 1 2 5 7

输出

2

说明

将第三个数字修改为 3 ,平滑值变为 2。这是唯一的修改方式。

这道题你会答吗?花几分钟告诉大家答案吧!