列表

详情


2184. 建造坚实的砖墙的方法数

给你两个整数 height 与width ,表示你要建造的砖墙的高和宽。再给你一个下标从 0 开始的数组 bricks ,其中第 i 块砖的高度是 1 ,宽度为 bricks[i] 。每种砖的数量都是 无限 的,并且砖 不可以 进行旋转。

墙的每一行必须正好 width 单位长。为了让墙体 坚实 ,除了在首尾的位置,相邻的行砖缝 不能 在同一个位置。

请你返回建造坚实的砖墙的方法数,由于答案可能很大,需要对 109 + 7 取余

 

示例 1:

输入:height = 2, width = 3, bricks = [1,2]
输出:2
解释:前两图中的两种方法是建造一座坚实砖墙的唯二的方法。注意,第三幅图所展示的不是坚实的砖墙,因为相邻的行在中间的连接点位置相同。

示例 2:

输入:height = 1, width = 1, bricks = [5]
输出:0
解释:无法建造符合题目要求的砖墙,因为仅有的砖的长度比墙还要长。

 

提示:

原站题解

去查看

上次编辑到这里,代码来自缓存 点击恢复默认模板
class Solution { public: int buildWall(int height, int width, vector<int>& bricks) { } };

上一题