无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

給你一個(gè)數(shù)組 seats 表示一排座位,其中 seats[i] = 1 代表有人坐在第 i 個(gè)座位上,s

2023-08-22 10:46 作者:酸奶公園  | 我要投稿

給你一個(gè)數(shù)組 seats 表示一排座位,其中 seats[i] = 1 代表有人坐在第 i 個(gè)座位上,seats[i] = 0 代表座位 i 上是空的(下標(biāo)從 0 開始)。


至少有一個(gè)空座位,且至少有一人已經(jīng)坐在座位上。


亞歷克斯希望坐在一個(gè)能夠使他與離他最近的人之間的距離達(dá)到最大化的座位上。


返回他到離他最近的人的最大距離。

思路:


1. 遍歷數(shù)組找到所有空座位的索引位置,保存在一個(gè)列表中。

2. 初始化最大距離為0。

3. 遍歷空座位的索引列表,計(jì)算亞歷克斯坐在當(dāng)前空座位上與離他最近的人的距離。

4. 更新最大距離為當(dāng)前距離與最大距離的較大值。

5. 返回最大距離。


代碼如下所示:


```python

def maxDistToClosest(seats):

? ? n = len(seats)

? ? max_distance = 0

? ? empty_seats = []


? ? # 找到所有空座位的索引位置

? ? for i in range(n):

? ? ? ? if seats[i] == 0:

? ? ? ? ? ? empty_seats.append(i)


? ? # 計(jì)算亞歷克斯坐在每個(gè)空座位上與離他最近的人的距離

? ? for seat in empty_seats:

? ? ? ? distance = min(seat - empty_seats[0], empty_seats[-1] - seat)

? ? ? ? max_distance = max(max_distance, distance)


? ? return max_distance

```


復(fù)雜度分析:


- 時(shí)間復(fù)雜度:遍歷數(shù)組需要O(n)的時(shí)間,計(jì)算亞歷克斯與離他最近的人的距離需要O(k)的時(shí)間,其中k為空座位的數(shù)量。因此總時(shí)間復(fù)雜度為O(n+k)。

- 空間復(fù)雜度:除了輸入數(shù)組和一些輔助變量外,需要額外的O(k)的空間來保存空座位的索引。因此總空間復(fù)雜度為O(k)。


給你一個(gè)數(shù)組 seats 表示一排座位,其中 seats[i] = 1 代表有人坐在第 i 個(gè)座位上,s的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
南平市| 乌拉特前旗| 兰考县| 南乐县| 揭东县| 连云港市| 河东区| 沭阳县| 若羌县| 昌黎县| 平安县| 岑巩县| 双流县| 中牟县| 青海省| 彰化县| 开江县| 全椒县| 吉首市| 鄂伦春自治旗| 太原市| 曲麻莱县| 四川省| 紫云| 宁乡县| 遵化市| 竹溪县| 山东| 余庆县| 辽宁省| 鹤岗市| 丹棱县| 襄垣县| 东乡县| 旺苍县| 通州区| 商都县| 星子县| 黔江区| 灵宝市| 仙居县|