5349. 安排电影院座位
生活随笔
收集整理的這篇文章主要介紹了
5349. 安排电影院座位
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
如上圖所示,電影院的觀影廳中有 n?行座位,行編號(hào)從 1?到 n?,且每一行內(nèi)總共有 10 個(gè)座位,列編號(hào)從 1 到 10 。
給你數(shù)組?reservedSeats?,包含所有已經(jīng)被預(yù)約了的座位。比如說,researvedSeats[i]=[3,8]?,它表示第?3?行第?8?個(gè)座位被預(yù)約了。
請(qǐng)你返回?最多能安排多少個(gè) 4 人家庭?。4 人家庭要占據(jù)?同一行內(nèi)連續(xù)?的 4 個(gè)座位。隔著過道的座位(比方說 [3,3] 和 [3,4])不是連續(xù)的座位,但是如果你可以將 4 人家庭拆成過道兩邊各坐 2 人,這樣子是允許的。
class Solution:def maxNumberOfFamilies(self, n: int, reservedSeats: List[List[int]]) -> int:res = 0reservedSeats.sort(key=lambda x:x[0])k=0for i in range(n):nums = [0 for _ in range(10)]while k<len(reservedSeats) and (reservedSeats[k][0]-1)==i:nums[reservedSeats[k][1]-1]=1k+=1if sum(nums[1:5])==0:res+=1nums[4]=1if sum(nums[3:7])==0:res+=1nums[6]=1if sum(nums[5:9])==0:res+=1nums[8]=1return resclass Solution(object):def maxNumberOfFamilies(self, n, reservedSeats):nums = [[0 for _ in range(10)] for _ in range(n)]res = 0for one in reservedSeats:nums[one[0]-1][one[1]-1] = 1for i in range(n):if sum(nums[i][1:5])==0:res+=1nums[i][4]=1if sum(nums[i][3:7])==0:res+=1nums[i][6]=1if sum(nums[i][5:9])==0:res+=1nums[i][8]=1return res?
總結(jié)
以上是生活随笔為你收集整理的5349. 安排电影院座位的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sqlite3用法详解草稿
- 下一篇: 前端小项目(一)| 电影院座位预定(ht