一道算法面试题,会动态规划的都来

avatar
关注
疫情期间,电影院恢复营业,但规定要保持社交距离。每两个观众之间要保持6尺距离,每个座位宽1尺。

假设 n>=0,电影院一排有 n+1 个座位。给出一个由非负整数组成的列表 A=[1,...,n], A 表示第 i 个座位和第 i+1个座位之间的距离。如何通过动态规划 (dynamic programming) 找出符合要求的座位安排的数量?

例子:

A=[2,3],因此有3个座位,第一个座位和第二个座位的距离是2尺,第二个座位和第三个座位的距离是3尺。

如果没有观众,则只有1种摆法:口口口

如果有1个观众,则有3种摆法:X口口 或者 口X口 或者 口口X

如果有2个观众,则有一种摆法:X口X (因为座位宽1尺,2+1+3=6尺)

所以一共有5种摆法。


在知乎邀请了两天都没人回答,果然有问题还是要来找虎扑大佬


原题来了


发布于上海阅读 54256

这些回复亮了

discusser-avatar

卡特曼悟能

· 北京

md刷一下午力扣了,来虎扑又是这?

亮了(70)
回复
discusser-avatar

0号拉塞尔威震天

· 广东

定义dp_i表示第i个座位坐不坐人,前i个座位的安排数量,然后就xjb转移🐶

亮了(36)
查看回复(1)
回复