给你 三个整数 n
、l
和 r
。
长度为 n
的 ZigZag 数组定义如下:
[l, r]
。返回满足条件的 ZigZag 数组的总数。
由于答案可能很大,请将结果对 109 + 7
取余数。
序列 被称为 严格递增 需要满足:当且仅当每个元素都严格大于它的前一个元素(如果存在)。
序列 被称为 严格递减 需要满足,当且仅当每个元素都严格小于它的前一个元素(如果存在)。
示例 1:
输入:n = 3, l = 4, r = 5
输出:2
解释:
在取值范围 [4, 5]
内,长度为 n = 3
的 ZigZag 数组只有 2 种:
[4, 5, 4]
[5, 4, 5]
示例 2:
输入:n = 3, l = 1, r = 3
输出:10
解释:
在取值范围 [1, 3]
内,长度为 n = 3
的 ZigZag 数组共有 10 种:
[1, 2, 1]
, [1, 3, 1]
, [1, 3, 2]
[2, 1, 2]
, [2, 1, 3]
, [2, 3, 1]
, [2, 3, 2]
[3, 1, 2]
, [3, 1, 3]
, [3, 2, 3]
所有数组均符合 ZigZag 条件。
提示:
3 <= n <= 2000
1 <= l < r <= 2000